我想根据下拉列表值
在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没有显示任何记录。错误在哪里?
答案 0 :(得分:0)
可能你忘记检查回发了。这样当您单击按钮时,您的下拉框就会重置。试试
if(!isPostBack)
{
//bind your dropdownbox
}
关于绑定下拉框内容。
答案 1 :(得分:0)
在&#39; AND&#39;?
之前,您是否忘记了SQL查询中的空格 [...] + ddl1.Text + " AND " + ddl2.Text;