0

我在我的页面中使用 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 都是空的。我尝试使用 EnableViewState 但它始终为空。在我的解决方案中使用的任何页面都是一样的。我们根本不能使用 ViewStates。肯定有问题。

4

0 回答 0