我需要检查母版页是否触发了事件。为此,我在 View 状态中保留了一个计数。这是在页面加载时抛出异常。我只是在页面加载中调用以下行
Int32 count = Int32.Parse(this.ViewState["Count"].ToString());
请帮忙。
最佳答案
这在少数情况下会抛出异常。
- 键“Count”尚未处于 View 状态。
ViewState["Count"]
将返回 null 并且.ToString()
调用将抛出一个NullReferenceException
。 - 无法将“Count”的值解析为 int,抛出
FormatException
。
要尝试的事情:
- 您应该检查代码的顺序,以确保在尝试从中读取之前设置了 count 的值。
您的代码可以改进如下:
Int32 count;
string countStr = this.ViewState["Count"];
if(!string.IsNullOrEmpty(countStr )
{
bool ok = Int32.TryParse(countStr, out count);
if(ok)
{
// Do stuff with count
}
}
- 您可以考虑使用 Session而不是在页面之间存储自定义数据的 ViewState。
关于c# - 如何在母版页中设置 View 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6678015/