【发布时间】: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();
}
}
【问题讨论】: