代码之家  ›  专栏  ›  技术社区  ›  MAW74656

当ASP.NET DropDownList.SelectedValue位于FormView编辑项模板中时,如何设置它?

  •  1
  • MAW74656  · 技术社区  · 14 年前

    我正在尝试设置DropDownList的选定值,它位于FormView的编辑模板内。每当我访问它时,就会出现错误:

    对象引用不存在

    我试着用以下方法设置它:

    DropDownList ddl = (DropDownList)FormView1.FindControl("ddlFrequency");
    ddl.SelectedValue = "blah blah";
    

    而且还喜欢:

    ((DropDownList)FormView1.FindControl("ddlFrequency")).SelectedValue = "blah blah";
    

    如何设置DropDownList.SelectedValue?

    编辑:以下是整个方法:

      protected void btnEdit_Click(object sender, EventArgs e)
    {
        String frequency = ((Label)(FormView1.FindControl("lblFrequency"))).Text;
    
        FormView1.ChangeMode(FormViewMode.Edit);
    
        String selectedValue = "0";
    
        switch (frequency.ToLower())
        {
            case "none": selectedValue = "0"; break;
            case "daily": selectedValue = "1"; break;
            case "weekly": selectedValue = "7"; break;
            case "monthly": selectedValue = "28"; break;
            case "bi-monthly": selectedValue = "56"; break;
            case "quarterly": selectedValue = "84"; break;
            case "semi-annually": selectedValue = "168"; break;
            case "annually": selectedValue = "365"; break;
            default: break;
        }
    
        DropDownList ddl = (DropDownList)FormView1.FindControl("ddlFrequency");
        ddl.SelectedValue = selectedValue;
    }
    
    2 回复  |  直到 14 年前
        2
  •  1
  •   Matthew Jones    14 年前

    编辑模板必须是可见的,FindControl才能工作。你可能得用 OnModeChanged 事件检查编辑模式,然后查找下拉列表。

    推荐文章