我有一个dropdownbox,每当其中的值发生变化时,textbox应该通过执行以下方法中的select查询来更新。但是,查询总是返回下拉框中第一个项目的结果。当我调试程序时,文本的值始终是下拉框中第一项的值。
如果我使用SELECT suburb FROM sites WHERE SiteName = '“+ siteId.SelectedValue + "'”,那么我会在文本框中显示正确的值。当查询是Select address from sites时,我在获取正确的值时遇到了问题。
protected void siteId_SelectedIndexChanged(object sender,EventArgs e) { string connect = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|db.mdb";using (System.Data.OleDb.OleDbConnection conn = System.Data.OleDb.OleDbConnection(connect)) {
conn.Open();
string insertQuery= "SELECT SiteAddress FROM sites WHERE SiteName = '" + siteId.SelectedValue + "'";
using (System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(insertQuery, conn))
{
object text =cmd.ExecuteScalar();
string final = text.ToString();
TextBox1.Text = final;
conn.Close();
Dispose(); }
}
}发布于 2013-01-06 06:46:27
在将更改的值(新值)添加到下拉列表之前,您需要清除下拉列表中的现有值(旧值)。
发布于 2013-01-06 05:32:50
我的猜测是,转到填充列表的位置并添加if(!Page.IsPostBack)
if(!Page.IsPostBack)
{
//bind items to dropdown list here
}https://stackoverflow.com/questions/14176548
复制相似问题