2013-08-30 84 views
0

我 在asp.net中創建了2個下拉列表和2個文本框.i在運行時禁用文本框。我希望當我從下拉文本框中選擇項目時應該使如何執行此任務,請幫助我:(Asp.net動態控件下拉列表和文本框問題

+0

發表您的努力(c0de)你這樣做了遠在這裏。 –

回答

0

上的SelectedIndexChanged的下拉列表調用設置啓用=真文本框的功能。要訪問已動態添加,你可以使用的FindControl按控制C#, FindControl

+0

感謝您的回覆,但問題是,他們的下拉和文本框動態時,我真正的autopost屬性。控制disapper, – mrbusy

+0

哦,我看到。這是因爲您需要在Init中重新創建控件,以便ViewState可以自動填充,然後您的代碼可以訪問PageLoad之後的正確控件和當前值。請參閱http://stackoverflow.com/questions/9951496/create-dynamic-controls-in-preinit-event-of-page-life-cycle和http://aspnet.4guysfromrolla.com/demos/printPage.aspx?path =/articles/092904-1.aspx – guymid

0

我覺得像這樣應該可以幫到你:

在你的頁面的的OnInit事件:

DropDownList ddl = new DropDownList(); 
ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged); 
placeholder.Controls.Add(ddl); //assuming this is what you use to dynamically show the dropdown list 

TextBox yourTextbox = new TextBox(); //declare the variable outside to be able to be accessed by other methods, but it must be instantiated here. declaration here is for illustration purposes only 
yourTextBox.Enabled = false; 
placeholder.Controls.Add(yourTextBox); 

裏面的實例化的事件處理程序:

void ddl_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    yourTextbox.Enabled = true; 
} 
+0

你確定嗎?我們可以直接訪問動態添加的文本框嗎?像'yourTextbox.Enabled'? – Damith

+0

只要它已經在頁面中實例化了,它就應該.. – iceheaven31

+0

不工作吧cudnt找到textboxws – mrbusy