【发布时间】:2017-07-17 12:16:11
【问题描述】:
我正在尝试在 dropdownchange 方法中定义 DataTable,如下所示:
protected void selectSegment_SelectedIndexChanged(object sender, EventArgs e)
{
String query = "<View><Query><Where><Eq><FieldRef Name='Segment' /><Value Type='Lookup'>" + selectSegment.SelectedItem.Text + "</Value></Eq></Where></Query></View>";
DataTable dt = SPCommon.GetFilteredItems("Approvers Info", "Business_x0020_Unit", "ID", query);
}
当我调试上面的代码时,我得到的错误是
The name 'dt' does not exist in the current context
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataTable Results = SPCommon.GetAllItems("Segments", "Title", "ID");
System.Web.UI.WebControls.ListItem defalutListItem = new System.Web.UI.WebControls.ListItem();
defalutListItem.Text = "Select";
defalutListItem.Value = "-99";
Common.populateDropdown(selectSegment, Results, "Title", "ID", defalutListItem);
Results.Clear();
}
}
请帮助理解为什么我无法在 SelectedIndexChanged 方法中声明新的 DataTable 变量?
【问题讨论】:
-
您的代码看起来不错(至少我找不到任何错误),您显示所有内容了吗?我唯一要抱怨的是你说
"the same thing if I do on PageLoad, works fine."2 个代码部分根本不相似。 -
是的,没有全局声明,也没有任何其他同名的DataTable。让我张贴截图。
标签: c# asp.net variables datatable declaration