1

好的,我知道这是一个愚蠢的问题,我真的不知道什么或如何搜索这个问题。问题是我将页面标题值存储到数据库中,然后从数据库中检索值并使用这段代码将该标题分配给页面this.Title = pageTitle;,它呈现如下

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

但我的经理希望我让它呈现如下

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

我不知道要搜索什么或怎么做

编辑:我试过

     <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

一种选择是使用这样的嵌入式代码块:

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

然后在你的代码后面:

public String PageTitle
{
  get;
  set;
}

然后...

PageTitle = pageTitle;

那应该可以解决问题-尽管有点难看。再说一次,这就是经理们对像这样的愚蠢废话进行微观管理所得到的。

于 2013-03-04T07:23:42.867 回答
3

你可以在 page_load 中写

this.Page.Title = YourTitle;
于 2013-03-04T09:00:06.667 回答
0

这是我的答案,以便任何有这种愚蠢情况的人都可以从我的经验中获得一些智慧,在我把头撞到墙上一周后,我认为这是无法实现的。

正如我所说,这在当时可用的最新版本中无法实现,现在我不明白为什么对我的答案投了反对票,我不能接受其他人的答案,因为他们没有达到我想要和提出的要求,如果您要投反对票,请至少发表评论,说明原因

于 2013-12-11T07:53:57.457 回答
0

如果您使用的是母版页,请尝试以下操作:

在母版页中,转到头部并输入:

<head runat="server" id="yourHead">
       <asp:ContentPlaceHolder runat="server" id="holderHead"></asp:ContentPlaceHolder>
       <title>Your Title</title>
</head>

现在,在其他页面的 html 代码中输入:

<asp:Content ID="content" ContentPlaceHolderID="holderHead" runat="Server">
   <title>Your Title - Contact</title>
</asp:Content>

它对我有用。

附言:。对不起,我的英语不好!

于 2014-03-24T21:30:24.093 回答
0

为什么不只使用文字控件?

    Literal ltPageTitle = (Literal)Master.FindControl("ltPageTitle"); // If the literal is on a master page 
    // Literal ltPageTitle = (Literal)Page.FindControl("ltPageTitle"); 
    ltPageTitle.Text = "Title"; // Where Title is the title you want for the page

这甚至为您提供了额外的功能,例如使用数据库记录来命名您的页面或您能想到的任何其他内容。

于 2015-05-25T12:00:52.487 回答