簡體   English   中英

如何在頁面加載時動態更改aspx頁面的標題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM