【问题标题】:ViewState issue with asp.netasp.net 的 ViewState 问题
【发布时间】:2016-04-08 18:07:47
【问题描述】:

我有以下代码,

    If Not Page.IsPostBack Then
        ViewState("ItemID") = 0
        If Not Request.QueryString("id") Is Nothing Then
            ViewState("ItemID") = Request.QueryString("id")
            ItemID = Integer.Parse(ViewState("ItemID"))
        End If
        If ItemID > 0 Then
            ltrTitle.Text = "Edit Item"
            bindEditData()
        End If
    End If

当我尝试在单击按钮时获取ViewState("ItemID") 时,它什么也不返回。有什么帮助吗?

【问题讨论】:

标签: asp.net vb.net


【解决方案1】:

我看到您的代码不是回发方法。所以一旦你的页面回发,viewstate 值就会丢失。

请将您的代码更改为,

ViewState("ItemID") = 0
If Not Request.QueryString("id") Is Nothing Then
    ViewState("ItemID") = Request.QueryString("id")
    ItemID = Integer.Parse(ViewState("ItemID"))
End If
If Not Page.IsPostBack Then        
    If ItemID > 0 Then
        ltrTitle.Text = "Edit Item"
        bindEditData()
    End If
End If

【讨论】:

    【解决方案2】:

    您的页面上的 ViewState 可能已关闭。 EnableViewState 属性设置为falseViewStateMode 属性设置为Disabled

    <%@ Page EnableViewState="false" ... />
    <%@ Page ViewStateMode="Disabled" ... />
    

    您可以通过更改这些设置来启用 ViewState:

    <%@ Page EnableViewState="true" ... />
    <%@ Page ViewStateMode="Enabled" ... />
    

    这些是默认设置,仅当在应用程序级别(在 Web.config 中)禁用 ViewState 时才需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 2014-05-26
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多