asp.net – UpdatePanel中的DropDownList

前端之家收集整理的这篇文章主要介绍了asp.net – UpdatePanel中的DropDownList前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有个问题.

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

但无论我做什么,它总是会给我空值,因为没有选中“启用AutoPostBack”.当我这样做时,它会刷新页面,所以这不是我想要的.

我怎么解决这个问题?

有任何想法吗…

解决方法

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

ASPX代码

  1. <form id="form1" runat="server">
  2. <asp:ScriptManager ID="ScriptManager1" runat="server">
  3. </asp:ScriptManager>
  4. <div>
  5. Current Time: <asp:Label ID="lblTime" runat="server" /><br />
  6. Session Value: <asp:Label ID="lblSessionValue" runat="server" /><br />
  7. <br />
  8. <asp:UpdatePanel ID="upSetSession" runat="server">
  9. <ContentTemplate>
  10. <asp:DropDownList ID="ddlMyList" runat="server"
  11. onselectedindexchanged="ddlMyList_SelectedIndexChanged"
  12. AutoPostBack="true">
  13. <asp:ListItem>Select One</asp:ListItem>
  14. <asp:ListItem>Maybe</asp:ListItem>
  15. <asp:ListItem>Yes</asp:ListItem>
  16. </asp:DropDownList>
  17. </ContentTemplate>
  18. <Triggers>
  19. <asp:AsyncPostBackTrigger ControlID="ddlMyList"
  20. EventName="SelectedIndexChanged" />
  21. </Triggers>
  22. </asp:UpdatePanel>
  23. </div>
  24. </form>

代码背后

  1. protected void Page_Load(object sender,EventArgs e)
  2. {
  3. this.lblTime.Text = DateTime.Now.ToShortTimeString();
  4. if (Session["MyValue"] != null)
  5. this.lblSessionValue.Text = Session["MyValue"].ToString();
  6. }
  7.  
  8. protected void ddlMyList_SelectedIndexChanged(object sender,EventArgs e)
  9. {
  10. Session.Remove("MyValue");
  11. Session.Add("MyValue",this.ddlMyList.SelectedValue);
  12. }

猜你在找的asp.Net相关文章