zoukankan      html  css  js  c++  java
  • LinQ To ViewState

    主要说一下,有关于如何使用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.

    为啥呢,跟贴吧。:)

  • 相关阅读:
    web.py的input获取问题
    python unicode和 utf8字符串比较
    python default encoding
    linux flash player的问题
    centos 支持 ntfs格式
    学习jqueryjquery中的show()和hide()
    字符串等长分割
    类加载器分类
    类加载器子系统
    70道HR的面试题
  • 原文地址:https://www.cnblogs.com/RuiLei/p/1690757.html
Copyright © 2011-2022 走看看