ASP.Net:GridView控件和组合框解决了第2部分

时间:2011-10-04 16:26:47

标签: c# asp.net

这是对ASP.Net: GridView control and combobox woes

的跟进

我已经实现了我的代码,因为kd7已经回答了但是我得到了一个“System.NullReferenceException:对象引用未设置为对象的实例。”我将代码简化如下:

按钮点击的事件处理程序:

protected void btnSubmit_Click(object sender, EventArgs e)
{
    ViewState["MyKey"] = "Test";
}

Page_Load现在有:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        txtDisplay.Text = ViewState["MyKey"].ToString();
    }
}

我的问题是:为什么ViewState [“MyKey”]会返回null并导致NullReference异常?

请注意,上面的代码只是我正在尝试的简化版本。请参阅此问题第一行中的上一个问题以查看完整详细信息。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

因为在asp页面生命周期中,在执行回发事件之前调用了页面加载。

怎么样: -

protected void btnSubmit_Click(object sender, EventArgs e)
{
    txtDisplay.Text = "Test";
}

答案 1 :(得分:0)

NullReferenceException可能与您在设置之前尝试获取ViewState [“MyKey”]值的事实有关。首先尝试验证:

if (ViewState["MyKey"] != null)
{
    txtDisplay.Text = ViewState["MyKey"].ToString();
}
else
{
    //manage the situation accordingly
}

希望这有帮助!