[英]how to change title of aspx page dynamically on page load
我有一組 ASPX 頁面,其中每個頁面都有不同的標題,但我想為沒有標題的頁面設置默認標題。 默認標題必須是可配置的。
如果這是經典的 ASP.NET(不是 MVC)並且您使用的是MasterPage
那么您可以在MasterPage
Page_Load
事件中設置默認標題:
protected void Page_Load(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Page.Title))
{
Page.Title = ConfigurationManager.AppSettings["DefaultTitle"]; //title saved in web.config
}
}
你可以這樣做:
像這樣設置 aspx 標頭
<HEAD>
<TITLE ID=CaptionHere RUNAT="server"></TITLE>
</HEAD>
在后面的代碼中把它放在頁面加載事件中:
if(!IsPostBack)
{
myCaption.InnerHtml = "Hope this works!"
}
我希望這能幫到您
我遇到了類似的問題,這些解決方案都不適合我。 問題源於頁面的順序控制事件觸發。 在我的例子中,我有一些代碼需要在 Page_load 事件中(這是因為這是我們有一個 Request 對象可以使用的第一個事件)。 該代碼還需要在設置標題之前運行。 我站點中的其他頁面能夠簡單地在頁面 Ctor 中設置所需的標題,但是因為該頁面需要首先詢問響應對象的信息,所以這是一個問題。 這樣做的問題是母版頁在我們到達 Page_load 事件時已經創建了頁眉部分,我不希望母版頁中只有我網站上的單個頁面需要的垃圾。 我克服這個問題的簡單技巧是在頁面的內容部分插入一些內聯的 javascript:
<asp:Content ID=BodyContent ContentPlaceHolderID=MainContent RunAt=Server>
<script type="text/javascript">
document.title='<%=Title%>';
</script>
... the rest of the content page goes here ...
</asp:Content>
有了這個,你就可以在 Page_Load 事件中自由設置標題,一旦這行代碼下載,它就會被設置。 當然,我的網站已經有一個 JS 要求,所以如果你想避免這種情況,那么這對你來說是行不通的。
protected void Page_Load(object sender, EventArgs e)
{
Page.Title = title();
}
private string title()
{
SqlConnection con = new SqlConnection(cs);
string cmdstr = "select * from title where id = 2";
SqlCommand cmd = new SqlCommand(cmdstr, con);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
con.Open();
da.Fill(dt);
con.Close();
if (dt.Rows.Count > 0)
{
string title = dt.Rows[0]["title"].ToString();
}
return title;
}
這很有幫助
在后面的母版頁代碼中,您可以設置[this.Title = "Whatever";]
或者您也可以在 HTML 中指定默認標題。
我想更改與您相同的主頁標題。 在包含所有主頁代碼的主機中的主文件中,不同網站的名稱可能不同。 打開它,然后在標題標簽中查找標題標簽。 如下所示,您可以根據自己的喜好進行更改。 如果你想在標題下寫一些東西,就像我在Irpolymer頁面上所做的那樣,你必須添加一個
標記並編寫您想要的文本,然后您可以設置樣式或更改其大小,然后保存。 考慮在進行更改之前備份您的服務,以便在出現問題時可以恢復您的站點。
<head runat="server">
<title>Untitled Page</title>
<p>something you want</p>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.