C# 当ASP.NET DropDownList.SelectedValue位于FormView编辑项模板内时,如何设置该值?

C# 当ASP.NET DropDownList.SelectedValue位于FormView编辑项模板内时,如何设置该值?,c#,asp.net,formview,C#,Asp.net,Formview,我试图设置位于FormView编辑模板内的DropDownList的选定值。每当我访问它时,我都会收到错误信息: 对象引用不存在 我试图通过以下方式设置它: DropDownList ddl = (DropDownList)FormView1.FindControl("ddlFrequency"); ddl.SelectedValue = "blah blah"; 也像: ((DropDownList)FormView1.FindControl("ddlFrequency")).Selecte

我试图设置位于FormView编辑模板内的DropDownList的选定值。每当我访问它时,我都会收到错误信息:

对象引用不存在

我试图通过以下方式设置它:

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;
}

编辑模板必须是可见的,FindControl才能工作。您可能需要使用
OnModeChanged
事件来检查编辑模式,然后找到DropDownList。

请记住。

@MAW74656:很高兴我的经验有帮助!:)我切齿了你解决你的问题了吗?我也有同样的问题,不知道该走哪条路