1

OK、これがばかげた質問であることはわかっています。この問題を何をどのように検索すればよいか本当にわかりません。問題は、ページのタイトル値をデータベースに保存してから、データベースから値を取得し、このコードを使用してそのタイトルをページに割り当て、this.Title = pageTitle;次のようにレンダリングしていることです。

    <head><title>
          page title here
    </title>

しかし、私のマネージャーは、次のようにレンダリングすることを望んでいます

    <head><title>page title here</title>

何を検索するのか、どのように検索するのかわかりません:( IIS 6およびWindows Server 2003でASP.NET 4およびC# 4を使用しています(それが役立つ場合はSQL Server 2008 R2)

編集:私は試しました

     <head><title><asp:Literal ID="ltrlMasterTitle" runat="server" Text=""</asp:Literal></title>

そして、次のコードを使用して目的の値に設定します

    Literal lblMasterTitle = (Literal)this.Page.Master.FindControl("lblMasterTitle");
    if (!string.IsNullOrWhiteSpace(pageTitle))
        lblMasterTitle.Text = pageTitle;

しかし、それも同じようにレンダリングされます。PS: Jonathan Hanson が提案した解決策を使用しようとしましたが、マスター ページと子ページの間のデータ転送を理解できませんでした:/

別の編集:ジョナサン・ハンソンのリンクで提案されている方法を試しましたが、同じ oO もレンダリングします

4

5 に答える 5

4

One option would be to use an embeded code-block like this:

<head><title><%=PageTitle%></title>

Then in your code behind:

public String PageTitle
{
  get;
  set;
}

then...

PageTitle = pageTitle;

That should do the trick--albeit kind of ugly. Then again, that is what managers get for micromanaging stupid crap like this.

于 2013-03-04T07:23:42.867 に答える
3

次のように page_load に書き込むことができます

this.Page.Title = YourTitle;
于 2013-03-04T09:00:06.667 に答える