簡體   English   中英

所選項目未更新?

[英]Selected Item not being updated?

我有以下DropDownList控件:

<asp:DropDownList ID="SubjectFilter" runat="server" AutoPostBack="True" onselectedindexchanged="SubjectFilter_SelectedIndexChanged"></asp:DropDownList>

SubjectFilter數據:

BookStore b = new BookStore();
b.LoadFromXML(Server.MapPath("list.xml"));

SubjectFilter.DataSource = b.BooksList.Select(x => x.Subject).Distinct().ToArray();
SubjectFilter.DataBind();
SubjectFilter.Items.Insert(0, new ListItem("הכל", "Default"));

一切都很好。 但是,在SubjectFilter_SelectedIndexChanged方法中,即使我選擇其他選項, SubjectFilter.SelectedValue始終為Default

問題是什么? 非常感謝你。

我猜上面的代碼是從PageLoad事件。 您可能需要將其包裝在if(!isPostBack)塊中。

確保在Page_Load ,僅當IsPostBack為false時才填充下拉列表。

例如

 public void Page_Load(...)
 {
      if (!IsPostback())
          UpdateDisplay();
 }

您何時綁定下拉列表? 您可以將任何包裝在If(page.ispostback == false)中。在您檢查其值之前,似乎在頁面加載時就進行了綁定。

ViewState在ASP.NET頁的“初始化”和“加載”之間分配。 您的事件處理程序在加載后發生。 如果要通過編程方式在用戶將使用的控件中設置內容,則需要應用ViewState 之前進行處理。 換句話說,將其移動到Page_Init。 之后,將啟動ViewState,您將看到執行處理程序時用戶實際選擇的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM