LinQ To ViewState

來源:互聯網
上載者:User

主要說一下,有關於如何使用linq查詢,篩選,過濾ViewState中需要資料資訊, 而不是用linq查詢ViewState

以前我們擷取ViewState方式一般都是以如下的方式:

Before:

   //擷取 ViewState Info

Object obj = ViewState ["Info"];

//檢查 ViewState 是否包括相關資訊

Object obj = ViewState ["Info"];
if ( null != ViewState ["Info"] ) {
//TODO
}

LinQ:

首先 要對ViewState.Keys進行OfType(),或者Cast()的操作,因為ICollection類型,LinQ是不支援。

然後 如下 

代碼

var query = from vs in ViewState.Keys.OfType<String> () 
where vs.Contains ( "info" )
select ViewState [vs];

if(null != query.Single()){

var info = query.Single();

}

 

最後,蠻簡單明了吧。

 

另外的話 有一種情況,大家要注意一下。 

代碼

//Set Info To ViewState

ViewState.Add("Info","Test");

ViewState.Add ( "dd" , 11 );

//Get Info From ViewState

這裡用以上方式就不行了。

var query = from vs in ViewState.Keys.Cast<String> ()
where vs.Contains ( "dd" )
select ViewState.Values;

query.Single() <-這裡肯定是null.

 

為啥呢,跟貼吧。:)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.