ViewStat非常奇怪的行为

时间:2012-12-10 09:39:08

标签: c# asp.net devexpress viewstate

我在我的页面中使用了devexpress控件,但这不是问题。

以下是发生的情况,我在页面中创建了一个只有get的属性,此属性将从ViewState中检索查询字符串值。我将值存储在页面加载事件中的ViewState中,该事件包含在!IsPostBack中。我存储后 请注意我已在我的母版页上放置了更新面板。 我在网上搜索,发现ViewState值永远不会存储在回调中,我不知道是不是这个原因。这是我的代码:

    public partial class _Default : BasePage
{
    private Int64 RequestId
    {
        get
        {
            return (Int64.Parse(ViewState["RequestId"].ToString()));
        }
    }

    protected override void Page_Load(object sender, EventArgs e)
    {
        //Check for security
        base.Page_Load(sender, e);

        if (!IsPostBack)
        {
            GetQueryString();
            gridBind();
        }
    }

    private void GetQueryString()
    {
        string requestId = this.Request.QueryString["RID"];
        if(!String.IsNullOrEmpty(requestId))
            ViewState["RequestId"] = Int64.Parse(this.Server.UrlDecode(requestId))
        else
            ViewState["RequestId"] = 0;
    }
  }

我编辑了这个问题,我遇到的第一个问题是由于IE7的愚蠢,但每次回发后的ViewState都是null。我试图使用EnableViewState但它总是为null。我在我的解决方案中使用的任何页面都是一样的。我们根本无法使用ViewStates。绝对有问题。

0 个答案:

没有答案