我有一个ASP:DropDown列表,其中包含以下内容:
public void Fill1()
{
string connectionString = WebConfigurationManager.ConnectionStrings["CRM2Sage"].ConnectionString;
using (SqlConnection _con = new SqlConnection(connectionString))
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Products", _con))
{
cmd.Connection.Open();
SqlDataReader ddlValues;
ddlValues = cmd.ExecuteReader();
txtProduct.DataSource = ddlValues;
txtProduct.DataValueField = "Description";
txtProduct.DataTextField = "Description";
txtProduct.DataBind();
cmd.Connection.Close();
cmd.Connection.Dispose();
}
}
我需要从同一个表格中调用SalesPrice
,并根据下拉列表中选定的值更新名为ASP:TextBox
的{{1}}字段。
我尝试将其写入同一个函数,并且不会让我为txtUnitAmount
设置.Text
值。任何人都可以提出一种方法来实现这一目标吗?
感谢所有人的帮助到目前为止!
干杯
贾斯汀
额外的讨论代码
ASP:TextBox
答案 0 :(得分:1)
这个问题有点难以理解,但我会给它一个刺。
您将不得不根据下拉更改产生的onChnge事件对数据库进行另一次查询。
您需要连接下拉列表的OnChange事件并启用自动后备。这可以通过属性资源管理器完成。从OnChangeEvent中,激活您的代码
请注意,此代码远非生产。你需要做输入并返回清理。
var description = Request.Form["txtProduct"].ToString();
using (SqlConnection _con = new SqlConnection(getProdValue))
using (SqlCommand cmd = new SqlCommand("SELECT UnitPrice FROM Products WHERE Description = '" + description "'", _con))
{
cmd.Connection.Open();
var unitPrice = cmd.ExecuteScalar();
txtUnitPrice.Text= unitPrice.ToString("###,###0.000");
}