Aar*_*ron 4 c# asp.net asp.net-mvc
我正在使用MVC向主页添加一个标题与内容占位符.默认的MVC母版页模板使用以下代码:
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server"/></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>
Run Code Online (Sandbox Code Playgroud)
当我尝试将默认文本添加到内容持有者的前面时,它不会在最终呈现的页面中显示文本.我试图让页面显示一个带有附加的contentplaceholder文本的默认标题.
示例:(
默认文本)(ContentPlaceHolder文本)
我的页面 - 关于我们
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>My Page - <asp:ContentPlaceHolder ID="TitleContent" runat="server"/></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来实现这一点,而无需使用代码.有任何想法吗?
看来我们应该用
<asp:Literal runat="server" Text=" - MySite" />
Run Code Online (Sandbox Code Playgroud)
代替
<asp:LiteralControl runat="server" Text=" - MySite" />
Run Code Online (Sandbox Code Playgroud)
在文章中提到,因为否则我们会收到"未知服务器标记"错误.
在进一步观察之后,Phil Haack实际上发表了一篇文章,这是我的问题的解决方案.它可以在Haacked找到.
总而言之,他说在头部渲染的所有东西都被渲染为一个控件,上面我的问题的解决方法是在标题中放置一个asp文字控件,让它正确生成文本.
<%@ Master ... %>
<html>
<head runat="server">
<title>
<asp:ContentPlaceHolder ID="titleContent" runat="server" />
<asp:LiteralControl runat="server" Text=" - MySite" />
</title>
</head>
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2952 次 |
| 最近记录: |