2008-11-22 48 views
2

好吧,我有一個FormView和一個InsertItemTemplate中的一對子控件。其中一個是DropDownList,稱爲DdlAssigned。我引用它在頁面的OnLoad方法,像這樣:DropDownList.SelectedValue更改(作爲FormView中的子控件)不會粘連

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

基本上我只是設置DropDownList的當前登錄用戶的默認值

無論如何,當頁面完成加載的SelectedValue。更改不會反映在頁面上。我跨過了OnLoad,我可以看到我的Watch列表中反映出來的變化,但是當所有內容都表達完畢,頁面上沒有任何變化。

+0

FormView綁定到一個DataSource? – BlackMael 2008-11-22 21:39:30

+0

DropDownList是否也是綁定控件? – BlackMael 2008-11-22 21:40:29

回答

4

我想通了。我仍然錯過了爲什麼它不能在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(); 
} 

所以,我想一般的經驗法則是,如果您有綁定工作時,在更改控制問題,立即嘗試讓他們已經束縛了。

0

我遇到了dropdownlists的問題,並將第一個值說成「請選擇一個值...」,但沒有將其作爲實際可選項目,也未顯示在下拉列表中。我綁定了page_load中的ddl,並且必須確保設置了下拉列表的文本,之後它已經綁定了數據。你已經通過將它添加到你的數據綁定部分來完成同樣的事情。

相關問題