簡體   English   中英

更新控件中的列表框未返回正確的所選值

[英]Listbox in update control doesn't return correct selected value

我正在使用帶有母版頁的網絡表單。 在網絡表單上,我有一個更新面板。 里面是一個由數據表加載的列表框。 我讓列表執行自動回發,並且無論我選擇什么,在SelectedIndexChanged上,它都會返回第一項。
我注意到,如果我在.aspx頁上列出了這些項目,它將返回正確的值。 我對正在發生的事情一無所知。

<asp:Content ID="SearchBodyContent" ContentPlaceHolderID="MainContent" runat="server" EnableViewState="true">
 <asp:UpdatePanel ID="parentup" runat="server" UpdateMode="Conditional">
<ContentTemplate>
    <asp:UpdatePanel ID="childup1" UpdateMode="Conditional" runat="server">
        <ContentTemplate>

            <asp:ListBox ID="list" runat="server" AutoPostBack="true" OnSelectedIndexChanged="list_SelectedIndexChanged" DataTextField="title" DataValueField="type">
            </asp:ListBox>
            <asp:TextBox runat="server" ID="text" Visible="false"></asp:TextBox>
        </ContentTemplate>
        <Triggers>
           <asp:AsyncPostBackTrigger ControlID="list" EventName="SelectedIndexChanged" />
            </Triggers>
    </asp:UpdatePanel>
</ContentTemplate>

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        using (SecureData sd = new SecureData(true, UserManager.GetLoginToken(true)))
        {
            _dt = sd.GetData("web_searchcriteria_item_listKK", "", 0, 0).Tables["web_searchcriteria_item_listKK"];

            list.DataSource = _dt;
            list.DataBind();
            list.Items.Insert(0, "Select One");
            Session["criteria"] = _dt;
        }
    }
}

protected void list_SelectedIndexChanged(object sender, EventArgs e)
{
    string title = list.SelectedItem.Text;
    text.Visible = true;

}

我真的需要獲取實際選擇的項目。 有人可以幫忙嗎?

我意識到問題只是我的datavaluefield不是唯一的。

暫無
暫無

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

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