惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
Martin Fowler
Martin Fowler
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V
Visual Studio Blog
博客园_首页
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
雷峰网
雷峰网
D
Docker
博客园 - 司徒正美
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
U
Unit 42
J
Java Code Geeks
A
About on SuperTechFans
N
Netflix TechBlog - Medium
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security Affairs
I
Intezer
Cisco Talos Blog
Cisco Talos Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog RSS Feed
P
Privacy & Cybersecurity Law Blog
T
Tenable Blog
T
Threatpost
H
Hacker News: Front Page
G
Google Developers Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
L
Lohrmann on Cybersecurity
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
S
Secure Thoughts
GbyAI
GbyAI
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Webroot Blog
Webroot Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
O
OpenAI News
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity Blog

博客园 - javalong

.Net程序如何防止被注入(整站通用) 不走寻常路 设计ASP.NET应用程序的七大绝招 进制转换(一) 关于ISA2004内网卡网线拔插造成ISA代理失效问题的一种解决方法(下列错误而失败:0x80072 关于三层结构的一点使用心得与开发建议 さくら~歌詞 いきものがかり SAKURA 歌词 修改数据库逻辑名 Windows 2003 R2 一些SN map blog - javalong - 博客园 VB.Net to C# Converter 1.51 图书馆 2006年宜结婚嫁娶黄道吉日通用表 VS2005 发布网站 真的好麻烦!!! 关于URL重写使用正则表达式的一些问题! 使用 ASP.NET 2.0 ObjectDataSource 控件 12月16日参加了传说中的微软新产品发布会!----广州 工厂的资料 数据访问 SimplePager
VS2005 中通过MasterPage来更方便实现网站模板替换
javalong · 2006-12-24 · via 博客园 - javalong

1、定制模板。

可以先在网站建一Skins目录,这样将所有的模板都统一放在它之下。

接着添加模板,在该目录下添加新项:Master.Page。命名为:<指定名字>.master。创建之后会发现它和新建的一个ASPX页面没什么太多区别。所以也应可以通过制作普通页面的方面来设计它。只不过,对于需要在不同场合由于不同内容来替换的地方用:Contentplaceholder组件来定义就行。这样,一个模板就制作好了。完成后的代码如:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Skin2.master.cs" Inherits="Skins_Skin2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
        &nbsp;<table border="1" bordercolor="#ffcc66" cellpadding="0" cellspacing="0" style="width: 606px">
            <tr>
                <td colspan="3" style="height: 234px">
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                    </asp:ContentPlaceHolder>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">
                    </asp:ContentPlaceHolder>
                    dsfsdaf</td>
                <td style="width: 4px">
                </td>
                <td>
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder4" runat="server">
                        sdfdsafasd122</asp:ContentPlaceHolder>
                    sdfsdadsafsd</td>
            </tr>
            <tr>
                <td>
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder3" runat="server">
                    </asp:ContentPlaceHolder>
                </td>
                <td style="width: 4px">
                </td>
                <td>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

2、使用模板。

建一个你要显示内容的ASPX页面。将里面的所有html元素全清掉。注意保留下:
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
这行

完后在该面页中通过<asp:Content>来定义及实现每一块的在模板中通过Contentplaceholder已定义的区域。如:

<asp:Content ID="content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

        <asp:Panel ID="Panel3" runat="server" Height="50px" Width="125px">
            <asp:DropDownList name="dfgddf" ID="DropDownList1" runat="server">
            </asp:DropDownList></asp:Panel>
   
        <asp:Panel ID="Panel4" runat="server" Height="50px" Width="125px">
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        </asp:Panel>
   
</asp:Content>

完后,再在Page_PreInit中加载需要用的模板。如:

   protected void Page_PreInit(object sender, EventArgs e)
    {
        this.MasterPageFile = "Skins/Skin2.master";//实际使用时,可以在别处先设定模板,完后该处读取指定的模板,当然这个处理就可以多种多样了。
    }