2016-11-24 13 views
0

私はaspウェブサイトを持っています。ドロップダウンリストを変更しながらテキストボックスを更新したいしかし、私はオートポストバックを使用しません。 DropDownListはデータベースの値を取得し、この値をテキストボックスに書き込んでいます。私はupdatePanelの内部でどうやってできますか? index.aspxUpdatePanelの内部でドロップダウンリストが更新されませんか?

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

答えて

1

あなたはUpdatePanel

<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> 
+0

ありがとう –

関連する問題