后台:
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