【问题标题】:Dropdownlist not updating inside UpdatePanel?下拉列表未在 UpdatePanel 中更新?
【发布时间】:2016-11-24 07:33:49
【问题描述】:

我有一个 ASP 网站。我想在更改下拉列表时更新文本框。但我不使用自动回发。下拉列表获取数据库中的值,我正在将此值写入文本框。如何在 updatePanel 中执行?

index.aspx

<div class="col-sm-8">
    <asp:DropDownList ID="drp_MalAd" Width="130px" CssClass="form-control center-block" runat="server" AutoPostBack="true" DataSourceID="SqlDataSourceMalAd" DataTextField="MALAD" DataValueField="MALAD" OnSelectedIndexChanged="drp_MalAd_SelectedIndexChanged"></asp:DropDownList>
    <asp:SqlDataSource runat="server" ID="SqlDataSourceMalAd" ConnectionString='<%$ ConnectionStrings:... %>' SelectCommand="SELECT ..."></asp:SqlDataSource>  
</div>

还有我的 index.aspx.cs 代码:

 protected void drp_MalAd_SelectedIndexChanged(object sender, EventArgs e)
{
    string malAdi = drp_MalAd.SelectedItem.Text.ToString();
    SqlDataReader reader;

    SqlCommand cmd = new SqlCommand("SELECT .. WHERE MALAD='" + malAdi + "'", con);
    SqlCommand cmd1 = new SqlCommand("SELECT ...WHERE MALAD='" + malAdi + "'", con);
    SqlCommand cmd2 = new SqlCommand("SELECT ... WHERE MALAD='" + malAdi + "'", con);
    SqlCommand cmd3 = new SqlCommand("SELECT ... WHERE MALAD='" + malAdi + "'", con);

    try
    {
        con.Open();

        txt_AnaBirim.Text = cmd.ExecuteScalar().ToString();
        txt_malKodu.Text = cmd1.ExecuteScalar().ToString();
        txt_KDVOranim.Text = cmd2.ExecuteScalar().ToString();
        con.Close();
    }
    catch (Exception)
    {
    }

    try
    {
        con.Open();
        reader = cmd3.ExecuteReader();
        grd_StokDurumu.DataSource = reader;
        grd_StokDurumu.DataBind();
        reader.Close();                     
    }
    catch
    {           
    }      
    finally
    {
        con.Close();
    }
}                       

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您将要更新的所有内容都包装在 UpdatePanel 中而不使用 PostBack

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
    
                <asp:DropDownList ID="drp_MalAd" Width="130px" CssClass="form-control center-block" runat="server" AutoPostBack="true" DataSourceID="SqlDataSourceMalAd" DataTextField="MALAD" DataValueField="MALAD" OnSelectedIndexChanged="drp_MalAd_SelectedIndexChanged"></asp:DropDownList>
                <asp:SqlDataSource runat="server" ID="SqlDataSourceMalAd" ConnectionString='<%$ ConnectionStrings:... %>' SelectCommand="SELECT ..."></asp:SqlDataSource>
    
                <asp:TextBox ID="txt_AnaBirim" runat="server"></asp:TextBox>
                <asp:TextBox ID="txt_malKodu" runat="server"></asp:TextBox>
                <asp:TextBox ID="txt_KDVOranim" runat="server"></asp:TextBox>
    
        </ContentTemplate>
    </asp:UpdatePanel>
    

    您需要在页面中添加ScriptManager

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    

    【讨论】:

    • 非常感谢
    猜你喜欢
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多