我正在使用ASP.NET开发一个网站。我想要这种形式的网页标题:
<page name> - <site name>
e.g:
Home - Stack Overflow
我可以在母版页中写- <site name>
部分吗?虽然<page name>
部分在内容页面中?
我尝试在母版页中写这个,但不能正常工作:
<head runat="server">
<title><asp:ContentPlaceHolder ID="placeHolder_title" runat="server"/> - Stack Overflow</title>
</head>
这是在内容页面中:
<asp:Content ID="content_title" ContentPlaceHolderID="placeHolder_title" runat="server">Home</asp:Content>
仅显示Home
。
答案 0 :(得分:2)
您可以在代码隐藏中执行此操作:
protected void Page_Load(EventArgs e)
{
if(!Page.IsPostBack)
{
Page.Title = "MyPageName - " + Page.Title;
}
}
答案 1 :(得分:-1)
在这种情况下,您可以使用Literal
,并将Text
属性指定为默认属性(例如,网站名称),并针对其他网页进行调整:
<title><asp:Literal runat="server" ID="TitleLiteral" Text="Site Name" /></title>
然后您可以让Master页面检查当前页面的Title
属性值并应用它。
if (!string.IsNullOrEmpty(Title)) {
TitleLiteral.Text = Title + " - " + TitleLiteral.Text;
}
假设&#34;家庭&#34;页面没有标题,只会显示默认值,那些有标题值的页面会在它前面添加。