0
我在自定義DropDownList控件上保持選定值的問題。我想如果在基本控件上啓用viewstate屬性,一切都將被設置,我發現情況並非如此。我想另一個問題是我可能應該使用Request對象來獲取/設置值?我的控制如下。查看自定義DropDownList控件的狀態
[DefaultProperty("Text")]
[ToolboxData("<{0}:TicketStatusDropdownControl runat=server></{0}:TicketStatusDropdownControl>")]
public class TicketStatusDropdownControl : DropDownList
{
private string _defaultValue = string.Empty;
private string _selectedItem = string.Empty;
private string _selectedValue = string.Empty;
protected override void Render(HtmlTextWriter writer)
{
if (_defaultValue != string.Empty)
{
this.Items.Add(new ListItem(_defaultValue));
}
foreach (string item in TicketWorkflowStates.getWorkflowStates())
{
this.Items.Add(new ListItem(item));
}
base.Render(writer);
}
}
對於視圖狀態和創建自定義控件來說相當新穎,到目前爲止我所提出的是。保護覆蓋void LoadViewState(object savedState) if(savedState!= null) {object_selectionValue =(object)savedState; base.LoadViewState(savedState); () } } 保護覆蓋對象SaveViewState() {0126} selectValue = base.SelectedValue; return selectValue; } –
甚至沒有需要它,我可以使用控件提供的ControlState ..我在Render方法中添加了列表項,而不是OnPreRender,這顯然會殺死該數據的Control/ViewState。 –
現在工作嗎? – IrishChieftain