GridView没有显示记录

时间:2014-04-28 09:30:46

标签: c# asp.net gridview

我想根据下拉列表值

在GridView中显示记录
<asp:GridView ID="usersgrid" runat="server" AutoGenerateColumns="false">
 <Columns >
  <asp:BoundField DataField="Name" HeaderText="Name"/>
  <asp:BoundField DataField="Age" HeaderText="Age"/>
  <asp:BoundField DataField="Occupation" HeaderText="Occupation"/>
 </Columns>
</asp:GridView>

这是下拉列表,用户必须从中选择年龄范围,以便根据选择显示结果

<asp:DropDownList ID="ddl1" DataTextField="Age" DataValueField="Profile_ID"  runat="server" ></asp:DropDownList>
<asp:DropDownList ID="ddl2" DataTextField="Age" DataValueField="Profile_ID"  runat="server" CssClass="validate[required]" data-errormessage-value-missing="Please select course"></asp:DropDownList>

我正在获取Age表单数据库。现在选择用户点击搜索按钮后,GridView必须填充结果。

 using (SqlConnection con = new SqlConnection(strCon))
        {
            using (SqlCommand cmd = new SqlCommand())
            {

                cmd.CommandText = "select Profile_ID, FirstName + ' ' + LastName as Name, Age, Occupation from UserProfile where Age BETWEEN  " + ddl1.Text + "AND " + ddl2.Text;
                cmd.Connection = con;
                con.Open();
                usersgrid.DataSource = cmd.ExecuteReader();
                usersgrid.DataBind();
                con.Close();
            }
        }

但GridView没有显示任何记录。错误在哪里?

2 个答案:

答案 0 :(得分:0)

可能你忘记检查回发了。这样当您单击按钮时,您的下拉框就会重置。试试

if(!isPostBack)
   {
     //bind your dropdownbox
   }

关于绑定下拉框内容。

答案 1 :(得分:0)

在&#39; AND&#39;?

之前,您是否忘记了SQL查询中的空格

[...] + ddl1.Text + " AND " + ddl2.Text;