【问题标题】:ASP.NET Change Site.Master anchor from Content Page programaticallyASP.NET 以编程方式从内容页面更改 Site.Master 锚点
【发布时间】:2014-04-10 18:29:48
【问题描述】:

ASP.NET Web 表单应用程序的母版页 (Site.Master) 具有导航锚点。其中一个锚点如下:

<li><a id="A1" runat="server" href="~/Login.aspx">Login</a></li>

如何从 Login.aspx.cs 后面的代码中将文本“Login”更改为“Logout”并将 href 更改为“~/Logout.aspx”?

【问题讨论】:

  • 想知道为什么必须从登录页面的代码隐藏而不是母版页面来完成?您是否考虑过使用 LoginStatus 控件或 LoginView 控件?
  • @gbs 认证在后面的Login代码中完成;这就是为什么我要在那里更换锚点。我不熟悉 LoginStatus 控件。我会查查的。谢谢。
  • @gbs LoginStatus 似乎正在做我正在寻找的工作。再次感谢您的帮助。

标签: asp.net


【解决方案1】:

首先你必须添加

<%@ MasterType VirtualPath="~/Site.master" %>

在您的客户页面顶部

然后添加

public HtmlAnchor AA1
    {
        get
        { return A1; }
        set
        { A1 = value; }
    }

到您的母版页代码后面

然后您可以在客户端页面(在您的情况下为 Login.aspx.cs)中更改锚 A1 的 href,例如

this.Master.AA1.HRef="~/Logout.aspx"

【讨论】:

  • 您必须使用 System.Web.UI.HtmlControls 添加;在 Site.master.cs 页面中并将文本更改为“注销”使用 this.Master.AA1.InnerText="Log Out"
  • Nanosoft,感谢您的建议和代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-23
  • 2012-06-09
  • 2018-06-23
  • 1970-01-01
  • 2023-03-23
相关资源
最近更新 更多