首页 新闻 会员 周边

新手询问关于不同专题不同模板的问题

0
悬赏园豆:10 [已解决问题] 解决于 2013-03-11 21:07

一直有个问题没有解决。

有一个专题表,字段如下: SpecialID,Title,Keywords,Description,ImgIcon等字段,

然后我有一个前台页面special.aspx,然后在访问不同专题时带上专题ID,如special.aspx?id=1,显示专题ID为1的信息。

现在我碰到一个问题,那就是目前所有的专题模板都是同一个,没有个性,因为是访问同一个special.aspx页面,所以只是其中的数据不一样,而模板都长一个样。

而我想实现的功能是当访问special.aspx?id=1时,用专题ID为1的的专用模板,访问special.aspx?id=2时用专题ID为2的专有模板,这样的话内容形式就多彩多样了。

 

大侠说说实现的思路。

问题补充:

希望有人解决一下。

DZCMS的主页 DZCMS | 初学一级 | 园豆:5
提问于:2013-02-24 19:38
< >
分享
最佳答案
0

第一种方法是页面DIV布局,通过传来的不同参数,动态加载CSS文件,来改变页面排版的样式,这种方式对CSS+DIV技术有一定要求。

第二种方法是跟据传过来的参数,去加载母板页面,这种方法比较简单,但灵活方面一般,如果页面有JS在找控件ID的时候会比较麻烦,

还有就是楼上说的动态载入用户控件,以及WepPart貌似用的人并不多。

以上方法都能实现你的要求,只是方法不同,看自己实际的需求,也可以组合着来用。

收获园豆:10
寂静之秋 | 菜鸟二级 |园豆:216 | 2013-03-02 16:54

我现在测试了一下include,但是这个性能不好啊。

我是这样写的:不同的专题做一个不同的静态模板,里面代码大概如下,我精简了无关的HTML代码,里面有C#代码:

<%@ Import Namespace="System.Collections.Generic" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="Ws2008.MODEL" %>
<%@ Import Namespace="Ws2008.Common" %>
<%@ Import Namespace="Ws2008.BLL" %>
<ul class="down_list">
<% for (int i = 0; i < ShowSoft().Count; i++)
                   {%>
                <li>
                    <a title="<%=ShowSoft()[i].Title %>" href="<%=GetRouteUrl("view",new{id=ShowSoft()[i].SoftID}) %>" class="pic">
                        <img width="140" height="98" src="/images/deep.jpg" alt="淘宝商城多格jQuery焦点图" /></a>
                    <h2><a href="<%=GetRouteUrl("view",new{id=ShowSoft()[i].SoftID}) %>" title="note"><%=ShowSoft()[i].Title %></a></h2>
                    <div class="info">
                        <span class="time"><%=ShowSoft()[i].AddDate %></span>
                    </div>
                    <div class="note"><%=ShowSoft()[i].Description %></div>
                </li>
                <%} %>
    </ul>

然后我在special.aspx中判断当前专题,然后include相应的模板。代码:

<% if (specialenname == "xp"){ %>
                    <!--#include file="/template/special/xp.html" -->
                <%} %>
                <%else if (specialenname == "win7"){ %>
                    <!--#include file="/template/special/win7.html" -->
                <%} %>

这样基本做到了不同专题不同模板的效果,但我发现,这样写,性能上面好像有大幅降低。

DZCMS | 园豆:5 (初学一级) | 2013-03-03 21:53
其他回答(1)
0

可以考虑根据ID的不同加载不同的用户控件(UserControl),通过调用Page.LoadControl方法,可以参考 http://msdn.microsoft.com/en-us/library/t9ecy7tf.aspx

陈希章 | 园豆:2538 (老鸟四级) | 2013-02-24 20:00

这样不方便啊。程序员可以这样用,但是给用户用,这样不方便啊。况且,专题可能有很多。

支持(0) 反对(0) DZCMS | 园豆:5 (初学一级) | 2013-02-24 21:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册