我需要检查是否从主页面触发了一个事件。为此我在观察状态中保持计数。这是在页面加载时抛出异常。我只是在页面加载中调用以下行
Int32 count = Int32.Parse(this.ViewState["Count"].ToString());
请帮忙。
答案 0 :(得分:2)
这会在少数情况下抛出异常。
ViewState["Count"]
将返回null,.ToString()
调用将抛出NullReferenceException
。FormatException
。要尝试的事情:
您的代码可以改进如下:
Int32 count;
string countStr = this.ViewState["Count"];
if(!string.IsNullOrEmpty(countStr )
{
bool ok = Int32.TryParse(countStr, out count);
if(ok)
{
// Do stuff with count
}
}
答案 1 :(得分:0)
<pagesenableSessionState="false"enableViewState="false"theme="Default" />
答案 2 :(得分:0)
确保在执行操作之前存在ViewState["Count"]
以避免异常。
答案 3 :(得分:0)
使用此代码将计数值默认为0:
Int32 count = Int32.Parse((this.ViewState["Count"] ?? "0").ToString());
如果ViewState集合中不存在“Count”键,这将阻止您看到异常。