【问题标题】:Hide link text in master page asp.net隐藏母版页asp.net中的链接文本
【发布时间】:2017-09-13 15:41:11
【问题描述】:

我使用连接到本地 SQL DB 的 .net 模板创建了一个简单的登录页面。我需要在母版页中隐藏注销链接文本我已经使用 html 标记完成了此操作,但是一旦用户登录需要启用“注销”文本并在页面后面的代码中隐藏登录文本。请帮助我
母版页

<asp:LoginView runat="server" ViewStateMode="Disabled">
 <AnonymousTemplate>
  <ul class="nav navbar-nav navbar-right">
    <li><a runat="server" href="~/Account/Register">Register</a></li>
    <li><a runat="server" href="~/Account/Login">Log in</a></li>
    <li><a runat="server" href="Default.aspx" Visible ="false">Log out</a>
    </li> 
  </ul>  
 </AnonymousTemplate>

【问题讨论】:

  • 检查会话,如果有值在会话改变可见为真。
  • 您应该查看LoginStatus 控件。

标签: asp.net


【解决方案1】:

将此类和 Id 添加到链接:

<a runat="server" id="logoutId" class="hidden-link" href="Default.aspx">Log out</a>

将此添加到您的 CSS:

a.hidden-link {
    display: none;
}

您可以通过添加/删除 hidden-link 类来使用 javascript 显示/隐藏链接:

// hide
document.getElementById("logoutId").classList.add("hidden-link");

// show
document.getElementById("logoutId").classList.remove("hidden-link");

或者你可以:

<a runat="server" id="logoutId" style="display: none;" href="Default.aspx">Log out</a>

然后使用juavascript显示/隐藏

// show
document.getElementById("logoutId").style.display = 'block';

// hide 
document.getElementById("logoutId").style.display = 'none';

【讨论】:

  • 在哪个 CSS 页面中我需要在“master.css”或“活动功能页面”中添加代码,而不是在 CS 页面中没有 .hidden-link。 protected void Page_Load(object sender, EventArgs e)
  • 最好将你的 css 放在一个单独的文件中并从 html 中引用它们:w3schools.com/html/styles.css">,看看这个页面:@ 987654322@。或者只是使用第二种方法,您不需要单独的 css,但您仍然需要 javascript 来显示/隐藏链接。
猜你喜欢
  • 2016-03-08
  • 1970-01-01
  • 1970-01-01
  • 2012-09-28
  • 2014-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
相关资源
最近更新 更多