Jua*_*nma 4 .net c# asp.net webforms web
我正在开发一个Web项目,我需要共享一个母版页,这样当我创建一个新页面时,它就有了基本的布局.我想到的是用该母版页创建一个项目,并在每个Web项目中添加它作为参考.但问题是我不知道如何在我想要应用MP的.aspx文件中嵌入母版页,或者它是在项目之间共享母版页的最佳方式.我会帮助或评论任何帮助!
在这里,我给你我的代码(这不起作用):
Index.aspx:
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="" CodeBehind="Index.aspx.cs" Inherits="MiWeb.Index" %>
<HeaderMp:Header ID="ctntHead" ContentPlaceHolderID="head" runat="server">
<title>SITPer</title>
</HeaderMp:Header>
Run Code Online (Sandbox Code Playgroud)
Header.Master:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Header.Master.cs" Inherits="MasterPages.Header" %>
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<script src="js/jquery.min.js"></script>
<script src="js/jquery.dropotron.min.js"></script>
<script src="js/skel.min.js"></script>
<script src="js/skel-layers.min.js"></script>
<script src="js/init.js"></script>
<noscript>
<link rel="stylesheet" href="css/skel.css" />
<link rel="stylesheet" href="css/style.css" />
<link rel="stylesheet" href="css/style-desktop.css" />
</noscript>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<div>
<!-- Header -->
<div id="header-wrapper" >
<div id="header">
<!-- Logo -->
<div id="logo">
<h1><a href="Index.aspx">SITPer</a></h1>
<p>Prueba</p>
</div>
</div>
</div>
<asp:ContentPlaceHolder ID="body" runat="server">
</asp:ContentPlaceHolder>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
谢谢!!
注意:除了此处描述的链接文件功能外,Visual Studio 2015+中还有一个新的共享项目功能,允许您创建专门用于共享代码的项目,该代码将编译到添加到的项目中.
母版页只能属于单个Web项目.但是,Visual Studio/MSBuild有一个功能,允许您在项目之间共享代码以有效地获得所需的结果.如果你把母版页文件(所有的人包括.master,.master.cs和.master.designer.cs)到一个文件夹在同一级别为您的解决方案,你可以使用Visual Studio中的链接文件功能将文件添加为链接文件(即不被复制到一个项目文件夹).
在Windows资源管理器中,打开包含solution(.sln)文件的目录.右键单击空白并单击New -> Folder.命名文件夹SharedFiles.副本Header.master,Header.master.cs以及Header.master.designer.cs文件的文件夹.
在Visual Studio中,Header.master从所有项目中删除文件.然后,对于要共享Header.master页面的每个项目,请按照以下步骤操作.
Add -> Existing Item.SharedFiles文件夹.Header.master,Header.master.cs和Header.master.designer.cs文件.Add As Link下拉列表中的项目.如果你做得正确,文件的图标上会有一个箭头表示它是一个链接文件.现在,当您对母版页进行更改时,更改将反映在所有项目中.
您还必须在Index.aspx页面中修复一个问题.您必须将母版页文件设置为文件的虚拟位置.如果您按照上面的说明操作,路径将是......
MasterPageFile="~/Header.master"
Run Code Online (Sandbox Code Playgroud)
但请注意,如果将文件(或链接文件)放在Web项目的子目录中,虚拟路径将会更改.
| 归档时间: |
|
| 查看次数: |
3249 次 |
| 最近记录: |