这是一个关于如何使用ASP.NET中的下拉列表从数据库中检索数据的问题。(我为此处发布的意大利面条代码道歉,但是这是最容易编写的,这只是一个概念我和#39;我试图理解)。
我总是对在这里提出问题感到有些不安,但是,这是我出于某种原因无法解决的问题。我已经问过我的同行和谷歌有关此事的帮助和见解,我是空手而归。
所以,让我来解决这个问题。 我创建了一个带有下拉列表,标签和图像控件的简单页面。 下拉列表中填充了我构建的数据库中的条目。 代码如下:
()
加载页面后填充列表。 现在,我想获取从下拉列表中选择的值(即pid),并使用它从数据库中获取记录。
代码如下:
public partial class view_products : System.Web.UI.Page
{
private static SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbcs"].ConnectionString);
private SqlCommand sqlcomm = new SqlCommand("sp_itemTable", sqlconn);
DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
sqlcomm.CommandType = CommandType.StoredProcedure;
//the query is SELECT * FROM <DataBase Name>
sqlcomm.Parameters.Add("@query", SqlDbType.Int).Value = 5;
try
{
if (sqlconn.State != ConnectionState.Open)
{
SqlConnection.ClearAllPools();
sqlconn.Open();
}
dt.Load(sqlcomm.ExecuteReader());
sqlconn.Close();
}
catch (Exception exception)
{
Response.Write(exception.Message);
}
DropDownList1.DataSource = dt;
DropDownList1.DataTextField = "pname";
DropDownList1.DataValueField = "pid";//pid is PK in my DataBase Table
DropDownList1.DataBind();
}
这就是问题所在。 我似乎无法使这部分代码正常工作。数据未显示。即使在下拉列表中启用了autopostback。而且我认为我已经开发了代码近视,现在已经有一段时间了。
任何有用的建议将不胜感激。 谢谢你的时间。