【问题标题】:DataTable declaration inside SelectedIndexChanged method not workingSelectedIndexChanged 方法中的 DataTable 声明不起作用
【发布时间】: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

如果我在 PageLoad 上做同样的事情,效果很好:

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


【解决方案1】:

尝试对变量 dt 做一些事情,因为 .net 可能已经“优化”了它(完全删除它),因为它没有在代码中的任何地方使用。即使不需要,您也可以访问它。

【讨论】:

    猜你喜欢
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    • 2021-11-26
    相关资源
    最近更新 更多