网格视图未显示结果

问题描述

| 我想在运行时选择
DataSource
并在用户从
DropDownList
中选择一个选项时绑定
GridView
。但是所选表或连接未正确建立。 请检查以下代码,并提供适当的解决方案。
    public partial class index : System.Web.UI.Page
    {
        SqlConnection conn = new SqlConnection();
        string option = \"\";
        protected void Page_Load(object sender,EventArgs e)
        {
            option = selectProductdropdown.SelectedValue;
        }

        protected void Button1_Click(object sender,EventArgs e)
        {
            Label2.Text = option;
            if (option == \"Books\")
            {

                Label3.Text = option;
                conn.ConnectionString = ConfigurationManager.ConnectionStrings[\"booksconnectionstring\"].ConnectionString;
                conn.Open();
                SqlCommand cmd = new SqlCommand(\"SELECT * from books\",conn);
                cmd.CommandType = CommandType.Text;

                SqlDataAdapter reader = new SqlDataAdapter(cmd);

                DataSet s = new DataSet();
                reader.Fill(s);
                GridView1.DataSource = s;
                GridView1.DataBind();
                conn.Close();
            }
    

解决方法

问题出在page_load事件中,您在其中为选项分配值。当您单击按钮时,page_load将再次调用,并且您的值将重置。 它应该是...
 protected void Page_Load(object sender,EventArgs e)
    {
       if(!Page.IsPostBack)
        option = selectProductdropdown.SelectedValue;
    }
否则,如果您愿意的话会更好。
if (selectProductdropdown.SelectedValue == \"Books\")
    ,因为您可能在每次加载页面时都选择了清空选项。     ,避免使用公共变量字符串选项= \“ \”; 而是在Click事件中定义相同的内容并在那里获取选定的值
option = selectProductdropdown.SelectedValue;// move to click event
因为当单击按钮时,下拉菜单将被重置(假设您未在此处显示下拉菜单绑定代码)     ,
protected void Page_Load(object sender,EventArgs e)
{
    if (!Page.IsPostBack)
        option = selectProductdropdown.SelectedValue;
}
    ,您已省略此行:
cmd.ExecuteReader();
将其放在语句之间,如下所示:
SqlCommand cmd = new SqlCommand(\"SELECT * from books\",conn);
cmd.ExecuteReader();  // <-- HERE
cmd.CommandType = CommandType.Text;
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...