页面加载时我收到Nullpoint异常。我该如何预防?
protected override void InitializeCulture()
{
base.InitializeCulture();
if (DropDownList1.SelectedItem.Value != null) // NULL POINT EXCEPTION THROWN HERE
{
//
}
}
答案 0 :(得分:0)
通过确保DropDownList1和SelectedItem都不为空,或者将代码移动到非空值的位置,或者在检查DropDownList1之前更改if语句以检查DropDownList1或SelectItem是否为空来阻止NullReferenceException .SelectedItem.Value。
答案 1 :(得分:0)
InitializeCulture
通常在页面生命周期中过早调用(在加载视图状态等之前,因此引用控件可能会有问题)。我假设可能想要使用drop-dwon列表中选择的值设置当前文化。为此,您应该嗅探Request.Form
而不是使用控件引用。例如,
protected override void InitializeCulture()
{
base.InitializeCulture();
var selectedCulture = Request.Form["DowndownListName"];
if (!string.IsNullOrEmpty(selectedCulture))
{
...
}
}
DowndownListName 应该是服务器端控件的UniqueID
(以及呈现的html源中呈现的select元素的name属性)。我建议使用html控件(而不是服务器控件)来获得一个可以在源代码中进行硬编码的静态名称。