新闻系统(1)之模板机制

本文介绍了一种基于ASP.NET的高效模板机制实现方法,通过代码与界面的分离来提高开发效率和灵活性。通过调整aspx文件及其对应的程序文件链接,可以轻松实现多模板效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


新闻系统之模板机制
我们在做 cms,bbs, 或者多用户商城的时候,都会遇到模板机制。现在大多系统采用的都是老办法,做一个 html 文件,里面加上变量,再用一支程序读出这个 html ,替换里面的变量,输出要显示的内容。这个办法当然不错,因为很多人都在用嘛。
但是,在 asp.net 下,更好的实现却不是这样做。 iwms 新闻系统虽然没有开源,但是根据其模板的置放方式就能看出, iwms 采用的绝对不是这样一个办法。在 asp.net 中,代码也页面本来就是分开的,简单来讲, aspx 文件也就是一个模板, cs 文件负责程序逻辑。经过多年的发展,我们可以看到, asp.net 这种模板机制是很有效果的。代码的分离使得代码更清晰,程序员和美工的工作更容易配合。那么我们怎么利用 asp,net 的这种模板机制建立我们的多模板效果呢。
简单来讲,一个 aspx 文件是通过其顶部的配置文件链接到相应的程序文件的。
比如 news_list_main.aspx 文件的链接。
<% @ Page Language="C#" AutoEventWireup="true" CodeFile="news_list_main.aspx.cs" Inherits="news_list_main" %>
其实我们还可以在另外一个aspx文件中也使用这个连接
比如在 news_list_001.aspx 中也使用这样的链接。
那么两个页面的内部程序是一样的,根据自己的不同需求调整版面就可以实现不同的显示效果了。

到这里工作并没有完成。因为虽然显示效果不一样,但是却不是在同一个页面上显示的。我们可以做一个跳转中心。
news_list.aspx--news_list.aspx.cs
news_list.aspx 中只有一行代码
<% @ Page Language="C#" AutoEventWireup="true" CodeFile="news_list.aspx.cs" Inherits="news_list" Title="Untitled Page" %>
我以上是新闻列表的页面。我们事先在新闻分类的数据库中增加了一个 templets_List 字段,用于保存该分类的模板文件。
识别判断的程序如下:
 
Codepartialclass news_list : Sper.baseuser

{

publicstring cid ="0";

protectedoverridevoid Page_Load(object sender, EventArgs e)

{

base.Page_Load(sender, e);

if (!IsPostBack)

{

if (PageValidate.IsNumber(Request.QueryString["cid"]))

{

cid
= Request.QueryString["cid"];

string templets_List = navdt.Select("id="+ cid)[0]["templets_List"].ToString();

bool hast = templets_List !="";

if (hast)

{

string tourl = templets_List +"?cid="+ cid;

if (Request.QueryString["page"] !=null)

{

tourl
+="&page="+ Request.QueryString["page"];

}

//Response.Write(tourl);



//Server.

//Thread.Sleep(3000);

//Server.

Server.Transfer(tourl,
false);



}

else

{

string tourl ="news_list_main.aspx?cid="+ cid;

if (Request.QueryString["page"] !=null)

{

tourl
+="&page="+ Request.QueryString["page"];

}

Server.Transfer(tourl,
false);



}



}

}

}



}

 
到此,我们的模板机制就完成了。你要新添加模板的时候。只需要复制一个 news_list_main.aspx 文件,重命名后,修改里面的呈现效果就行了,在里面你可以任意调整布局,控件选择,新增加控件等。
效果演示
http://www.21nm.net/html/c17/page1.html
以上三个链接你可以看到,格式是一样的。只是分类不一样。列表的效果却不一样。
原代码下载地址 http://www.webabc.com.cn/
在园子的处女技术文章,欢迎大家拍砖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值