C# 当ASP.NET DropDownList.SelectedValue位于FormView编辑项模板内时,如何设置该值?
我试图设置位于FormView编辑模板内的DropDownList的选定值。每当我访问它时,我都会收到错误信息: 对象引用不存在 我试图通过以下方式设置它: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
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:很高兴我的经验有帮助!:)我切齿了你解决你的问题了吗?我也有同样的问题,不知道该走哪条路