首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从下拉列表中选择数据而不刷新页面

从下拉列表中选择数据而不刷新页面
EN

Stack Overflow用户
提问于 2015-07-07 11:15:18
回答 2查看 1.2K关注 0票数 1

在我的应用程序中,当我从下拉( not类别)中选择类别时,数据将绑定在纯度下拉(not.But) refreshing.So中--我使用更新面板来解决这个(页面刷新) problem.Now --数据不绑定到not纯度,当来自not类别的数据是selected.How时,可以将数据绑定到not纯度而无需刷新页面。

asp设计页

代码语言:javascript
复制
<asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager>
<asp:UpdatePanel runat="server" id="UpdatePanel" updatemode="Conditional">
 <Triggers>
     <asp:Asyncpostbacktrigger controlid="ddlcategory" eventname="SelectedIndexChanged" />
   </Triggers>
       <ContentTemplate>
             <asp:DropDownList ID="ddlcategory" class="form-control txtboxmargin validate[required]" runat="server" 
               AutoPostBack="True" onselectedindexchanged="ddlcategory_SelectedIndexChanged" AppendDataBoundItems="True">
             <asp:ListItem Value="">--select category--</asp:ListItem>
           </asp:DropDownList>
       </ContentTemplate>

   </asp:UpdatePanel>

<asp:DropDownList ID="ddlpurity" 
               class="form-control txtboxmargin" AutoPostBack="True" runat="server"
               onselectedindexchanged="ddlpurity_SelectedIndexChanged">
           </asp:DropDownList>

C#代码:

代码语言:javascript
复制
protected void ddlcategory_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddlcategory.SelectedItem.Text == "Gold")
        {
            BindDDLGoldPurity();
            lblheadpurity.Text = "ADD GOLD PURITY";
            txtsalesrate.ReadOnly = true;

        }
        if (ddlcategory.SelectedItem.Text == "Silver")
        {
            BindDDLSilverPurity();
            lblheadpurity.Text = "ADD SILVER PURITY";
            txtsalesrate.ReadOnly = true;

        }
        if (ddlcategory.SelectedItem.Text == "Gemstones")
        {
            txtsalesrate.ReadOnly = false;
            txtsalesrate.Text = "";

            ddlpurity.Items.Clear();

        }

    }
EN

回答 2

Stack Overflow用户

发布于 2015-07-07 11:19:21

设置AutoPostBack="False“以消除刷新行为。

票数 0
EN

Stack Overflow用户

发布于 2015-07-07 11:27:11

您应该将两个控件包装在UpdatePanel中。

第二部分。删除

代码语言:javascript
复制
AutoPostBack="true" 

从你的DropDownList

代码语言:javascript
复制
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="UpdatePanel" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlcategory" EventName="SelectedIndexChanged" />
    </Triggers>
    <ContentTemplate>
        <asp:DropDownList ID="ddlcategory" class="form-control txtboxmargin validate[required]"
            runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlcategory_SelectedIndexChanged"
            AppendDataBoundItems="True">
            <asp:ListItem Value="">--select category--</asp:ListItem>
        </asp:DropDownList>
        <asp:DropDownList ID="ddlpurity" class="form-control txtboxmargin" AutoPostBack="True"
            runat="server" OnSelectedIndexChanged="ddlpurity_SelectedIndexChanged">
        </asp:DropDownList>
    </ContentTemplate>
</asp:UpdatePanel>

此外,还可以使用javascript/jquery执行数据库请求。

参考文献

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31267050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档