![](/img/trans.png)
[英]Linkbutton inside ASP.NET custom composite control template losing its ViewState
[英]ASP NET Dropdown box in a user control losing viewstate
我在ASP NET Web應用程序中有一個用戶控件,我在該控件上基於一些已加載的數據(通過BIN目錄中的組件從XML文件中)創建下拉列表。
我發現我無法在回發中檢索值,並且我一直在做大量閱讀以弄清原因。 我想解釋一下為什么存在以下情況:
Dim dd As New DropDownList
With dd
.Items.Add(New ListItem("First Item"))
.Items.Add(New ListItem("Second Item"))
.Items.Add(sts(0))
.Items.Add(sts(1))
.Items.Add(sts(2))
.Items.Add(New ListItem("Third Item"))
End With
AddHandler dd.SelectedIndexChanged, AddressOf changed
divControls.Controls.Add(dd)
在上面的代碼中,“第一項”,“第二項”和“第三項”這三個項目均正常運行,因為您可以看到它們被直接添加到代碼的下拉框中。 項目sts(0),sts(1)和sts(2)都從XML文件加載到數組或字符串列表中
有趣的是,sts(0)總是正確地發回,但是從動態源添加的任何后續項都不正確。 我嘗試了多種方法將字符串列表放入下拉列表,以便在回發時它們仍然存在,但是我運氣不佳,如果有人可以對此有所了解,將不勝感激
我知道了-我需要給每個ListItem一個值,由於我沒有在列表中使用序數,所以我只對文本部分進行了延遲編碼,但是ASP NET需要序數值或列表項值來注冊用於事件驗證的項目,我希望ASP NET只能為數組或字符串列表中的后續項目提供與集合的所有其他成員相同的序數或listitem值,因為它們來自同一對象。 現在就行!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.