在前台开发的过程中,有时会遇到获取数据库数据在前台显示。
当然,我们可以使用Reapter、GridView这样的控件,看下面一句话:
<img src="upload/StudentMien/<%# Eval("SmallName") %> " />
是不是觉得很眼熟,这个是只要后台获取到一个dt,里边有SmallName这个字段,我们就可以使用<%# Eval("SmallName") %>来获取这个值在前台显示。而不必在乎我们是否使用的是GridView。
比较Reapter控件中
<ItemTemplate>
<img src="upload/StudentMien/<%# DataBinder.Eval(Container.DataItem, "SmallName") %> " />
...
</ItemTemplate>
对于GridView绑定数据,
当某个Label需要链接的时候,我们可以在前台Label加上<a></a>标签
<a href="" runat="server" id="aHref"><asp:Label ID="lblStudentName" runat="server" Text="Label"></asp:Label></a>
后台处理
protected void gridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int rowNum = gridView.PageIndex * gridView.PageSize + e.Row.RowIndex + 1;
DataRowView drv = (DataRowView)e.Row.DataItem;
((HtmlAnchor)e.Row.FindControl("aHref")).HRef = "TalentInfo.aspx?StudentID=" + drv["ID"].ToString();
((Label)e.Row.FindControl("lblStudentName")).Text = drv["StudentName"].ToString();
((Label)e.Row.FindControl("lblClassName")).Text = drv["ClassName"].ToString();
((Label)e.Row.FindControl("lblWorkInCompany")).Text = drv["WorkInCompany"].ToString();
}
}