【问题标题】:how select item,DropDownList1.Items.FindByValue("-").Select in wizardstep? Exception:NullReferenceException如何在向导步骤中选择项目,DropDownList1.Items.FindByValue("-").Select?异常:空引用异常
【发布时间】:2012-05-13 08:51:23
【问题描述】:

如何在wizardstep中选择项FindByValue DropDownList

例外:

NullReferenceException
对象引用未设置为对象的实例。

C#:

protected void Page_Load(object sender, EventArgs e)
{
    ...

    DropDownList DropDownList2 = 
       (DropDownList)Wizard1.WizardSteps[1].FindControl("DropDownList1");

    DropDownList2.Items.FindByValue(
        DataSetLoad.Tables[1].Rows[0]["a"].ToString()).Selected = true;

    ...
}

【问题讨论】:

    标签: c# asp.net .net c#-4.0 webforms


    【解决方案1】:

    protected void Page_Load(object sender, EventArgs e) { ...

    DropDownList DropDownList2 = 
       (DropDownList)Wizard1.WizardSteps[1].FindControl("DropDownList1");
    DropDownList2.DataBind();
    DropDownList2.Items.FindByValue(
        DataSetLoad.Tables[1].Rows[0]["a"].ToString()).Selected = true;
    
    ...
    

    }

    【讨论】:

      【解决方案2】:

      如果空异常是您的向导不工作的唯一原因,则附加一个调试器,然后使用visual studio immediate window 系统地检查您的每个对象以确定哪个为空。

      例如,Wizard1.WizardSteps[1].FindControl("DropDownList1") 如果找不到您的控件,可能会返回 null。如果是这种情况,那么您可以继续问,为什么它没有找到您的控制权。

      更新:

      根据您提供的代码,您是否有理由不直接使用变量 DropDownList1?而不是:

      DropDownList DropDownList2 = 
         (DropDownList)Wizard1.WizardSteps[1].FindControl("DropDownList1");
      
      DropDownList2.Items.FindByValue(
          DataSetLoad.Tables[1].Rows[0]["a"].ToString()).Selected = true;
      

      为什么不直接使用:

        DropDownList1.Items.FindByValue(
          DataSetLoad.Tables[1].Rows[0]["a"].ToString()).Selected = true;
      

      上述建议是基于您的原始问题(空引用)发生的假设,因为您的FindControl 方法没有成功找到DropDownList1

      【讨论】:

      • 您是否首先确定了空引用是由DropDownList2为空引起的?如果是这样,您需要提供有关如何创建 DropDownList1 的更多信息。
      • 在我们继续寻找DropDownList2 可能为空的原因之前,您是否确定为空?
      • '
        aaa ...'
      • '
      • ...
        '
      • '
      • '
      猜你喜欢
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 2011-05-16
      • 2011-06-02
      相关资源
      最近更新 更多