26

Titleコード レベルでは、ASP.NET ページのプロパティを設定しても効果がないという奇妙な問題があります。例外もスローしません。私のクラスは class の派生クラスですが、Pageタイトルについては何もオーバーライドしていません。

コードには次の行があります。

Title = "About";

デバッグ中、私はその行にいます。タイトルに通常どおりカーソルを置き、空の文字列が表示され""ます。まだ空の文字列を取得します。プロパティの設定が機能しません。はい、出力ページでも空です。さて、私はそこに何か欠けていますか?Title"About"

4

10 に答える 10

9

Title プロパティについても同様の問題がありました。<%@ Page %>私の問題は、 Title プロパティが欠落しているディレクティブに戻ってきました。次のように、ASPX ファイルの Page ディレクティブに Title プロパティを追加したことを確認します。

<%@ Page Language="C#" Title="Default Title" %>
于 2011-08-24T16:50:40.277 に答える
7

ページを新しいマスター ページに切り替えると、タイトルが機能しなくなりました。

私の古い作業中のマスターページにはこれがありました

<head runat="server">

私の新しい失敗したマスターページにはこれがありました

<head>

そのため、タグに runat="server" が含まれていることを確認するのと同じくらい簡単でした。

于 2014-10-23T22:47:25.330 に答える
4

これはどうですか(ちょっと変わっていますが、それでも:)):

ステップ1:ContentPlaceHolderをマスターページのタイトルタグに追加します

...
<title>
    <asp:ContentPlaceHolder ID="TitleContentPlaceHolder" runat="server"></asp:ContentPlaceHolder>
</title>
...

ステップ2:コンテンツページに以下を追加します

...
<asp:Content ContentPlaceHolderID="TitleContentPlaceHolder" runat="server" ID="TitleContent">
    <asp:Literal runat="server" ID="TitleLabel"></asp:Literal>
</asp:Content>
...

ステップ3:タイトルを設定してみてください(ページの読み込みなど)

protected void Page_Load(object sender, EventArgs e)
    {
        ...
        TitleLabel.Text = "Some title";
        ...
    }
于 2011-08-24T16:01:09.277 に答える
1

同様の問題がありました (Me.Titleコード ビハインドでプロパティを設定しても、レンダリングされたページの実際のタイトルは変更されませんでした)。

ディレクティブから Title 属性を完全に削除した後、すべてが期待どおりに機能し始めました。<%@ Page %>

私はこれを MasterPage に持っています<head>:

<title><%= Page.Title %></title>

<title>(ASP.NET はとにかく要素を追加するため、このビットは厳密には必要ではないよう<head>です...しかし、それがないと、Visual Studio HTML バリデーターは「要素 'title' が表示される回数が少なすぎる」と不平を言うので、そのままにしておきます。 )

  • ビジュアル スタジオ 2010 プロ
  • .NET 4.0
  • IIS7.0
于 2012-12-14T21:51:04.693 に答える
1

これはPreRenderでのみ機能します

protected void Page_PreRender(object sender, EventArgs e)
    {
        Page.Title = "Some title";

    }
于 2015-10-05T10:53:05.377 に答える
0
<%@ Master ..
<head runat="server">
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title><%: Page.Title %></title>

..

<%@ Page Title="ABOUT" ..
于 2013-11-28T20:40:07.800 に答える
-3

ページの DataBind の後にタイトルを設定してみてください。

public override void DataBind()
{
    base.DataBind(true);
    Title = "Ballout";
}
于 2011-12-16T13:08:51.023 に答える