C# 禁用视图状态,但仍使用视图状态[ "item" ]



这可能吗,我已经在webconfig文件中设置了。然而,两个web控件使用ViewState["item"].ToString(),现在会抛出以下错误:

Object reference not set to an instance of an object.

我试过在web控件的标题中设置EnableViewState="true",但仍然得到相同的错误。有办法解决这个问题吗?

请参阅此处:http://forums.asp.net/t/1378945.aspx/1

你需要在页面的标题中打开它,而不是在控件中。

编辑:根据http://forums.asp.net/t/1536937.aspx/1您可能需要在web.config级别启用它,并在不需要它的每个页面禁用它。

如果从未设置ViewState["Item"],那么当您调用时

ViewState["Item"].ToString();

你实际上是在调用null。ToString();

所以你需要先检查是否为null,否则就一直设置它。

你可以使用类似的东西:

var item = ViewState["Item"];
string s = item == null ? string.Empty() : item.ToString();

最新更新