2016-01-06 41 views
0

我有一個子例程添加tblcell到aspx表格上的表格。一個tblcell的簡化示例:如何將選定的值從動態創建的下拉列表傳遞給另一個? Visual Basic

tblcell = New TableCell 
    inputDrop = New DropDownList 
    inputDrop.ID = "drop_" & tableType & "_optionname" & tableCount 
    inputDrop.Items.Add(New ListItem("Select one", "")) 
    inputDrop.Items.Add(New ListItem("ANY", "ANY")) 
    inputDrop.Items.Add(New ListItem(row("option_name"), 
    Next 
    inputDrop.CssClass = "dropWidths" 
    tblcell.Controls.Add(inputDrop) 
    tblrow.Cells.Add(tblcell) 

我需要這tblcell的所選值傳遞到一個子程序來找到用於下一tblcell下拉選項。該子例程在頁面加載時每次回傳都會被調用。我們爲下拉列表定義了一個「ID」,但我不確定是否可以通過.SelectedValue以某種方式使用它。

我也不確定後置觸發器是什麼東西,以及將它們放在aspx首頁代碼的位置。

回答

0

您需要將事件附加到頁面加載時加載的DropDownList。當你處理該事件時,你填充第二個DropDownList。另外請確保您不要在回發中重新運行第一個下拉列表的代碼。第一個下拉列表應該啓用回發屬性。由於您是在後面的代碼中創建它,所以在代碼後面設置屬性而不是在aspx上。我可以爲你寫代碼,但我寧願給你一個關於需要什麼的基本想法。

+0

謝謝你的迴應。如果我沒有在回發中重新運行第一次下拉的代碼,它會在回發後保留在頁面上嗎?而我最大的問題是弄清楚如何指定我想要使用的下拉菜單。我會使用「ID」爲其分配一個事件嗎? –

+0

如果您的頁面上的viewstate屬性設置爲true,它將會持續。我不記得確切的語法,因爲我有一段時間沒有使用webforms,但添加事件可以使用AddHandler inputDrop.SelectedIndexChanged,AddressOf 。另一個你想要填充的下拉列表,你可以通過在父列表上使用GetControlById來找到它,然後將其轉換爲下拉列表。 – DonO

相關問題