在asp.net中包含html部分

时间:2011-02-21 09:49:15

标签: asp.net html

我正在使用ASP.net编写网站,我想将我的页面分成一些逻辑HTML部分(菜单,面板等)。
对于具有服务器逻辑的部件,显而易见的解决方案是使用UserControl,但我网站上的大多数部件只有客户端逻辑,即javascript和HTML。
最近我发现可以使用代码包含零件:
<% Response.WriteFile ("MyPart.html") %>
所以我的问题是:有什么更好的方法呢?我应该为每个部件编写UserControl,还是应该为我的非服务器端逻辑部件使用Resonse.WriteFile (...)

2 个答案:

答案 0 :(得分:0)

查看master pages,它们允许您将模板应用到您的网站。

答案 1 :(得分:0)

我倾向于放弃使用Response.WriteFile,在您的情况下,您应该使用Master Pages和UserControls的组合。 Master页面将定义所有网站页面的结构以及CSS和JavaScript文件等内容。

在母版页中你可以,尤其是如果你的零件是动态的导航菜单根据您在站点中的位置而变化)将这些菜单写为UserControl并将其包含在主页面标记定义中。

这是我的意思的简化版本:

<html>
    <head>
        <link ... />
        <script type='text/jscript' href='/myjs.js' ></script>
    </head>
    <body>
        <uc1:TopMenu id='topMenu' .. /><!-- A usercontrol that generates the top menu -->
        <asp:ContentPlaceHolder id='cphBody'>

        <asp:/ContentPlaceholder/>
    </body>
</html>