微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UpdatePanel中的DropDownList

如何解决UpdatePanel中的DropDownList

听起来您可能未正确使用UpdatePanel功能。如果您将UpdatePanel设置为在子事件触发事件时进行更新,则仅UpdatePanel应该刷新,而不刷新整个页面。下面的代码的行为似乎与您想要的类似。更改下拉菜单时,只有更新面板会发回到服务器上,刷新页面时,您可以从会话中获取值。

<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);
    }

解决方法

我有个问题。

在我的项目中,我已经在一个updatepanel中放置了一个下拉列表。我要做的是从下拉列表中选择一个值,并在会话中使用它。

但是无论我做什么,由于不选中“ Enable AutoPostBack”,它总是给我空值。当我这样做时,它将刷新页面,所以这不是我想要的。

我怎么解决这个问题?

有任何想法吗…

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。