itemtemplate
一、DataList呈现效果图如下:
<asp:DataList ID="DataList1" OnItemcommand="DataList1_ItemCommand" runat="server">
<ItemTemplate>
<table border="0" runat="server" style="width: 100%; height: 100%; margin-top: 0px; padding-top: 0px; font-size: 9pt;" align="center">
<tr>
<td align="left" style="border-bottom: 1px dashed #000000; width: 150px; height: 21px;"> · 『
<%# databinder.eval(Container.DataItem,"type") %>
』
</td>
<td style="border-bottom: 1px dashed #000000;" align="left">
<asp:LinkButton ID="Ibtntitle" runat="server" CommandName="select">
<%# DataBinder.Eval(container.DataItem,"title") %>
</asp:LinkButton>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
其中,<ItemTemplate></ItemTemplate>里的内容就是自定义模板的内容。
最关键的一步是绑定数据库表的数据字段,即 <%# DataBinder.Eval(Container.DataItem,"type") %> 和 <%# DataBinder.Eval(Container.DataItem,"title") %>
总结: <%# DataBinder.Eval(Container.DataItem,"DataList的datasource的某个字段名") %>,一般就是数据库表的字段名
三、后台相关代码:
/// <summary>
/// 连接数据库
/// </summary>
/// <returns>返回sqlConnection对象</returns>
public SqlConnection GetConnection()
{
//获取数据库连接的字符串并赋值给myStr
string myStr = configurationManager.APPsettings["ConnectionString"].ToString();
SqlConnection myConn = new SqlConnection(myStr);
return myConn;
}
/// <summary>
/// 说明:GetDataList 数据集,返回数据源的数据集
/// </summary>
/// <param name="sQueryString">SQL字符串</param>
/// <param name="TableName">数据表名称</param>
/// <returns>数据集dataset</returns>
public DataSet GetDataSet(string sQueryString, string TableName)
{
SqlConnection con = GetConnection();
con.Open();
//定义并初始化数据适配器
SqlDataAdapter dbAdapter = new SqlDataAdapter(sQueryString, con);
//定义一个数据集,用来赋值给应用程序的一个数据集
DataSet dataset = new DataSet();
//将数据适配器中的数据填充到数据集dataset中
dbAdapter.Fill(dataset, TableName);
con.Close();
return dataset;
}
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = GetDataSet("select * from tb_News", "tb_News");
this.DataList1.DataSource = ds;
this.DataList1.DataKeyfield = "id";
this.DataList1.DataBind();
}
tb_News表中就有ID,Tyle, Title字段
而其中,超链接LinkButton的点击事件是DataList的OnItemCommand事件,会将点击的列表子项信息传递给该事件对应的方法!
注意:1、LinkButton的CommandName必须设置为"select"才会触发该事件。
2、this.DataList1.DataKeyField = "id" 必须写上,不然下面获取不了主键ID
web.config中在<configuration></configuration>中,添加:
<appSettings>
<add key="ConnectionString" value="user id=sa; password=123456; database=db_news; server=(local)" />
</appSettings>
注意:这是连接SQL SERVER的方法,不是mysql(别搞错了!)
四、点击LinkButton(超链接)触发的事件方法如下:
/// <summary>
/// 点击超链接文字后事件,跳转showNews显示新闻详细信息
/// </summary>
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
int id = Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex].ToString());
response.write("<script language=javascript>window.open(showNews.aspx" + id +
",width=520,height=260</script>");
}
通过DataList1.DataKeys[e.Item.ItemIndex].ToString()来获取表的ID字段,而e就是所点击的那行信息体。
相关阅读
一、NotifyIcon控件右键菜单的设置二、NotifyIcon控件闪烁效果实现Windows通知栏可以显示应用程序的图标以当应用程序窗口隐藏时,
Asp.net源码下载请认准51aspx1、这里是Asp.net源码的集散地其他一些源码下载网站的源码大都从这里采集后发布的,从这里你可以得到
效果图: 1.定义一个Spinner控件: <Spinner android:layout_width="150dp" android:layout_height="match_parent"
在滑块设计中需要注意“做什么”和“不应该做什么”呢?本文将来探讨下,enjoy~价格范围滑块,360度视图滑块,时间线滑块……在所有这些
源文章:https://blog.csdn.net/liyuqian199695/article/details/54098938 C#利用Picturebox控件显示图片 1、Picturebox控件SizeM