ASP.NET Web Forms User Controls(三)
<%@ Control ClassName="Pagelet7CS" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script language="C#" runat="server">
private String _category = "";
public String Category {
get {
return _category;
}
set {
_category = value;
SqlConnection myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes");
SqlDataAdapter myCommand = new SqlDataAdapter("select * from Titles where type='" + _category + "'", myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "Titles");
MyDataList.DataSource = ds.Tables["Titles"].DefaultView;
MyDataList.DataBind();
}
}
</script>
<span style="font: 12pt 宋体">类别:<%=Category%></span>
<ASP:DataList id="MyDataList" BorderWidth="0" RepeatColumns="2" runat="server">
<ItemTemplate>
<table cellpadding=10 style="font: 10.5pt 宋体">
<tr>
<td valign="top">
<img align="top" src='<%# DataBinder.Eval(Container.DataItem, "title_id", "/quickstart/aspplus/images/title-{0}.gif") %>' >
</td>
<td valign="top">
<b>书名:</b><%# DataBinder.Eval(Container.DataItem, "title") %><br>
<b>类别:</b><%# DataBinder.Eval(Container.DataItem, "type") %><br>
<b>出版商 ID:</b><%# DataBinder.Eval(Container.DataItem, "pub_id") %><br>
<b>价格:</b><%# DataBinder.Eval(Container.DataItem, "price", "$ {0}") %>
</td>
</tr>
</table>
</ItemTemplate>
</ASP:DataList>
应用:
<%@ Register TagPrefix="Acme" TagName="BookList" Src="pagelet7.ascx" %>
<html>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs E) {
Page.Controls.Add(new HtmlGenericControl("hr"));
Control c1 = LoadControl("pagelet7.ascx");
((Pagelet7CS)c1).Category = "business";
Page.Controls.Add(c1);
Page.Controls.Add(new HtmlGenericControl("hr"));
Control c2 = LoadControl("pagelet7.ascx");
((Pagelet7CS)c2).Category = "trad_cook";
Page.Controls.Add(c2);
Page.Controls.Add(new HtmlGenericControl("hr"));
Control c3 = LoadControl("pagelet7.ascx");
((Pagelet7CS)c3).Category = "mod_cook";
Page.Controls.Add(c3);
}
</script>
<body style="font: 10.5pt 宋体">
<h3>以编程方式创建用户控件</h3>
</body>
</html>