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

DropDownList.SelectedValue更改(作为FormView中的子控件)不起作用

  •  2
  • Dusda  · 技术社区  · 17 年前

    好的,我有一个FormView,在InsertItemTemplate中有几个子控件。其中一个是DropDownList,称为ddlsassigned。我在页面的OnLoad方法中引用它,如下所示:

    protected void Page_Load(object sender, EventArgs e)
    {
        ((DropDownList)FrmAdd.FindControl("DdlAssigned")).SelectedValue =
              ((Guid)Membership.GetUser().ProviderUserKey).ToString();
    }
    

    基本上,我只是将DropDownList的默认值设置为当前登录的用户。

    2 回复  |  直到 17 年前
        1
  •  4
  •   Dusda    17 年前

    我想出来了。我仍然不明白为什么它不能仅在FormLoad上工作,但是在FormView的DataBound事件中执行更改就可以做到这一点。

    protected void FrmAdd_DataBound(object sender, EventArgs e)
    {
        // This is the same code as before, but done in the FormView's DataBound event.
        ((DropDownList)FrmAdd.Row.FindControl("DdlAssigned")).SelectedValue =
            ((Guid)Membership.GetUser().ProviderUserKey).ToString();
    }
    

    因此,我想一般的经验法则是,如果在使用数据绑定时对控件进行更改时遇到问题,请尝试在绑定后立即进行更改。

        2
  •  0
  •   GregD    17 年前

    我在dropdownlist中遇到了一个问题,第一个值是“请选择一个值…”,但没有将其作为实际的可选项,也没有显示在dropdownlist上。我在页面加载中绑定了ddl,我必须确保在用数据绑定dropdownlist之后设置了它的文本。通过将其添加到数据绑定部分,您已经完成了相同的任务。

    推荐文章