在我的MasterPages中,我创建了一个内容占位符,用于在ContentPlaceHolder之后插入一个CSS文件,然后插入标题之前。
但是,当我创建一个新视图时,CSS ContentPlaceHolder会显示在body 1之后而不是之前。
如何修复它,以便每当我创建新视图时,CSS内容占位符都会以正确的顺序显示在主页中?
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<!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><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<asp:ContentPlaceHolder ID="Css" runat="server"></asp:ContentPlaceHolder>
<link rel="Stylesheet" href="../../Content/Site.css" />
<link rel="Stylesheet" href="../../Content/SiteMaster.css" />
</head>
<body>
<asp:ContentPlaceHolder id="MainContent" runat="server">
</asp:ContentPlaceHolder>
</body>
</html>
答案 0 :(得分:0)
如果查看“添加视图”对话框,您会在底部看到一个名为ContentPlaceHolder ID的字段。看来,在此处输入的内容占位符ID将立即在标题内容占位符后跟随所有剩余占位符呈现,因此如果您在其中输入您的css占位符ID,您应该得到您期望的行为。
我不知道它为什么会这样,并且有兴趣听到任何建议
如果您在此字段中输入TitleContent,则会在具有该ID的视图上呈现两个占位符!