gpt4 book ai didi

asp.net - UpdatePanel 中的下拉列表

转载 作者:行者123 更新时间:2023-12-02 11:48:22 25 4
gpt4 key购买 nike

在我的项目中,我在更新面板中放置了一个下拉列表。我想做的是从下拉列表中选择一个值并在 session 中使用它。

但无论我做什么,它总是会给我空值,因为没有检查“启用自动回发”。当我这样做时,它会刷新页面,所以这不是我想要的。

最佳答案

听起来您可能没有正确使用 UpdatePanel 功能。如果您将 UpdatePanel 设置为在子项触发事件时更新,则只有 UpdatePanel 应该刷新,而不是整个页面。下面的代码似乎与您正在寻找的代码类似。更改下拉列表时,只有更新面板会发回服务器,并且当您刷新页面时,您可以从 session 中获取值。

ASPX 代码

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
Current Time: <asp:Label ID="lblTime" runat="server" /><br />
Session Value: <asp:Label ID="lblSessionValue" runat="server" /><br />
<br />
<asp:UpdatePanel ID="upSetSession" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlMyList" runat="server"
onselectedindexchanged="ddlMyList_SelectedIndexChanged"
AutoPostBack="true">
<asp:ListItem>Select One</asp:ListItem>
<asp:ListItem>Maybe</asp:ListItem>
<asp:ListItem>Yes</asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlMyList"
EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</div>
</form>

隐藏代码

    protected void Page_Load(object sender, EventArgs e)
{
this.lblTime.Text = DateTime.Now.ToShortTimeString();
if (Session["MyValue"] != null)
this.lblSessionValue.Text = Session["MyValue"].ToString();
}

protected void ddlMyList_SelectedIndexChanged(object sender, EventArgs e)
{
Session.Remove("MyValue");
Session.Add("MyValue", this.ddlMyList.SelectedValue);
}

关于asp.net - UpdatePanel 中的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1256943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com