今天重装了系统,同时也装上了vs2010,看看这个编程的东西如何,首先感觉打开时的页面页面蛮好看的,给人以现代感的视觉, 然后自己新建了个web站点,里面直接有不同于vs2008的实例,用F5在浏览器中查看, home和page选项是在源代码中没有连接的,怎么实现的哪?手头资料中没有,百度了一下,原来用的是content控件,content 控件是内容页的内容和控件的容器。Content 控件只能和定义相应的 ContentPlaceHolder 控件的母版页一起使用。Content 控件不是独立的控件。该控件包含呈现到母版页中的 ContentPlaceHolder 控件的文本、标记和其他服务器控件。
<asp:Content ContentPlaceHolderID="string" EnableViewState="True|False" ID="string" runat="server"> Visible="True|False" <!-- child controls --> </asp:Content>
也就是说先对ContentPlaceHolder控件进行定义,才能对content的控件定义,content的控件的定义包含对ContentPlaceHolder控件的应用,这是必须的。我们首先使用一个 ContentPlaceHolder 控件来定义内容区域。
<%@ Master Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>MasterPage Example</title> </head> <body> <form id="form1" runat="server"> <div> <asp:contentplaceholder id="ContentPlaceHolder1" runat="server" /> </div> </form> </body> </html>
然后在 Content 控件模板中定义的文本、标记和任何服务器控件呈现到母版页上的 ContentPlaceHolder。
<%@ Page Language="C#" MasterPageFile="~/MasterPageSample_1cs.master" Title="Content Page"%> <asp:content runat="server" contentplaceholderid="ContentPlaceHolder1" >Hello, Master Pages!</asp:content>
在看一下vs2010给的示例:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="learn._Default" %> <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> </asp:Content> <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <h2> Welcome to ASP.NET! </h2> <p> To learn more about ASP.NET visit <a href="http://www.asp.net" title="ASP.NET Website">www.asp.net</a>. </p> <p> You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&clcid=0x409" title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>. </p> </asp:Content>
这里是对ContentPlaceHolder控件的引用,真正的contentplaceholder控件是在.master文件总定义,一下为在.master文件中定义的ContentPlaceHolder控件:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="learn.SiteMaster" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head runat="server"> <title></title> <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" /> <asp:ContentPlaceHolder ID="HeadContent" runat="server"> </asp:ContentPlaceHolder> </head> <body> <form runat="server"> <div class="page"> <div class="header"> <div class="title"> <h1> My ASP.NET Application </h1> </div> <div class="loginDisplay"> <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false"> <AnonymousTemplate> [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ] </AnonymousTemplate> <LoggedInTemplate> Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>! [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ] </LoggedInTemplate> </asp:LoginView> </div> <div class="clear hideSkiplink"> <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal"> <Items> <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/> <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/> </Items> </asp:Menu> </div> </div> <div class="main"> <asp:ContentPlaceHolder ID="MainContent" runat="server"/> </div> <div class="clear"> </div> </div> <div class="footer"> </div> </form> </body> </html>
vs2010提供的母版能够大大节约编程者的时间,提高工作效率,母版就像大的自定义控件一样,可以灵活的运用到相同模块中。一下为效果图:
vs2010的破解方法:http://www.cnblogs.com/shenzhoulong/archive/2010/05/13/1734770.html