后台:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string SQL_SELECT_Type = "SELECT * FROM NewsType"; //使用using确保释放数据库连接 //连接字符串存放在Web.Config文件中便于修改 using (SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"])) { SqlDataAdapter dataAdapter = new SqlDataAdapter(SQL_SELECT_Type, conn); DataSet ds = new DataSet(); dataAdapter.Fill(ds); //设置下拉列表的数据源与文本域、值域 dropDownList.DataSource = ds; dropDownList.DataTextField = "ClassName"; dropDownList.DataValueField = "ClassID"; dropDownList.DataBind(); } } } protected void button_Click(object sender, EventArgs e) { string SQL_SELECT_News = "SELECT Title,UpdateTime,ClassName from News,NewsType where News.ClassID=NewsType.ClassID and NewsType.ClassID = {0}"; using (SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"])) { //用下拉列表选择的值替换掉SQL语句中的待定字符{0} SqlDataAdapter dataAdapter = new SqlDataAdapter(string.Format(SQL_SELECT_News, dropDownList.SelectedValue), conn); DataSet ds = new DataSet(); dataAdapter.Fill(ds); dataGrid.DataSource = ds; dataGrid.DataBind(); }
前台:
<asp:DropDownList id="dropDownList" runat="server"></asp:DropDownList> <asp:Button id="button" runat="server" Text="Button" OnClick="button_Click"></asp:Button> <asp:DataGrid id="dataGrid" runat="server" AutoGenerateColumns="False"> <Columns> <asp:BoundColumn DataField="Title" HeaderText="新闻标题"></asp:BoundColumn> <asp:BoundColumn DataField="UpdateTime" DataFormatString="{0:d}" HeaderText="发表时间"></asp:BoundColumn> <asp:BoundColumn DataField="ClassName" HeaderText="新闻类型"></asp:BoundColumn> </Columns> </asp:DataGrid>
高级功能在:http://www.microsoft.com/china/community/Column/93.mspx
