使用dropdownmenu显示数据库的结果

时间:2018-03-26 02:37:43

标签: c# asp.net

这是一个关于如何使用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。而且我认为我已经开发了代码近视,现在已经有一段时间了。

任何有用的建议将不胜感激。 谢谢你的时间。

0 个答案:

没有答案