繁体   English   中英

Dropdownlist不在UpdatePanel内部更新?

[英]Dropdownlist not updating inside UpdatePanel?

我有一个ASP网站。 我想在更改下拉列表时更新文本框。 但是我不使用自动回发。 Dropdownlist在数据库中获取值,并将此值写入文本框。如何在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();
    }
}                       

您将要更新的所有内容都包装在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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM