0
点赞
收藏
分享

微信扫一扫

【牛腩】——绑定数据库表在系统界面显示内容

大明宫 2022-02-18 阅读 76


前言

学了这个功能之后,发现牛腩系统就可以当成一个模板来使用了,当需要显示不同的业务时,直接绑定数据库表替换表中的内容就可以实现显示不同的内容,简直太方便了,这样的经验复用让我不得不把它总结下来!

一、绑定需要绑定的数据库

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;

namespace 牛腩新闻发布系统
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//第一次进入该页面时

//绑定新闻分类
repCategory.DataSource = new CategoryManager().SelectAll();
repCategory.DataBind();

NewsManager nm = new NewsManager();
//绑定最新新闻
gvNewNews.DataSource = nm.SelectNewNews();
gvNewNews.DataBind();

//绑定热点新闻
gvHotNews.DataSource = nm.SelectHotNews();
gvHotNews.DataBind();
}
}
   }
}

1、绑定前的界面显示:

【牛腩】——绑定数据库表在系统界面显示内容_css

2、绑定后的界面显示:

【牛腩】——绑定数据库表在系统界面显示内容_存储过程_02

二、设置自定义模板

1、首先将自动生成列禁用,即 AutoGenerateColumns="False"

2、通过设计视图可视化界面来绑定数据表的列  选择编辑列

【牛腩】——绑定数据库表在系统界面显示内容_数据库_03

3、首先去掉自动生动字段,再添加绑定列,设置 绑定列 相应的Headertext和dataField属性,最后转换为右下角的TemplateField样式才能自己更方便的定义样式,项目中会自动生成相应的TemplateField有关代码

【牛腩】——绑定数据库表在系统界面显示内容_css_04

【牛腩】——绑定数据库表在系统界面显示内容_存储过程_05

<h4>最新新闻</h4>           
<asp:GridView ID="gvNewNews" runat="server" AutoGenerateColumns="False" BorderWidth="0">
<Columns>
<asp:TemplateField HeaderText="所属类别" HeaderStyle-CssClass="th_category">
<ItemTemplate>
<a class="td_category" href='list.aspx?caid=<%#Eval("caId") %>'>[<%# Eval("name") %>]</a>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="新闻标题">
<ItemTemplate>
<a href='newscontent.aspx?newsid=<%# Eval("id") %>' target="_blank" title='<%# Eval("title") %>'><%# StringTruncat( Eval("title").ToString(), 10,"..." )%></a>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="发布时间" HeaderStyle-CssClass="th_time" ItemStyle-CssClass="td_time">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("createtime") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

</Columns>
</asp:GridView>

经验点:

1、一定要准备自己的代码仓库,平时养成写demo的习惯,虽然说这些demo可能思路比较简单,但是以前写好的也没必要一直重复去写,用的时候直接就可以拿过来复制

2、存储过程有利有弊:

利:当需要修改数据库语句时,可以直接在存储过程中修改数据库语句,而不需要去D层修改,如果在D层修改,修改之后还需要重新生成,很麻烦。

弊:用存储过程写数据库语句,用到的表和字段都是写死的,当需要换表时,存储过程就不能实现了。

(PS:修改存储过程时,保存之后切记要再点击 执行,要不然不会保存成功!)

3、Eval产生的数据类型为object类型,需要其他类型需要转换类型

例:Eval("title").ToString()



举报

相关推荐

0 条评论