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