2013-07-21 42 views
1

我想通过我的C#后台代码启用/禁用在我的html代码中的“a”标记。我知道如果它是一个按钮,那么我只会使用,xxx.Visible =“false/true”,但我想“一个”标签没有任何后端代码的功能。这里是我有什么,启用/禁用<a>通过c#代码标记

C#:

if (Session["SessionUsersLoginId"] == null) 
    { 

     alreadyMemberLabel.Visible = true; 
     SignInButton.Visible = true; 
     forgotdButton.Visible = true; 
     passwordLabel.Visible = true; 
     passwordTextBox.Visible = true; 
     Right here should disable visibility for "login_pop" a tags 
    } 

HTML:

<span style="width:32%; float:right;"> 
       <div class="panel"> 
      <a href="#login_form" id="login_pop">Log In</a> 
      <a href= "AddUsers.aspx" id="login_pop">Sign Up</a> 
     <span style="width:32%; float:right;">    
      <asp:Button ID="forgotdButton" CssClass="btn-link forgotPass" runat="server" Height="25px" Text="Forgot Password?" 
           onclick="forgotdButton_Click" Width="135px" /> 

      </span> 

     </div> 

也许有一种方法来启用/通过ID禁用? 谢谢

+0

''? – YK1

回答

2

首先,你在不同的元素上有两个相同的ID(login_pop),它们应该是唯一的。

其次,可以使<a>标签的服务器组件和方式,您可以从您的代码隐藏访问:

HTML

<a href="#login_form" id="login_pop" runat="server">Log In</a> 

C#

login_pop.Disabled = true; 
+1

启用不是HTML控件的属性。禁用,是,但未启用。至少在.NET 3.5中是这样的。 –

+0

好点。 http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlcontrol.disabled(v=vs.110).aspx – CodingIntrigue

+0

不幸的是,这是行不通的。没有办法[禁用链接](http://stackoverflow.com/questions/2091168/disable-a-link-using-css)。但是在上述链接中有这样做。 –

1

首先,你将无法做任何事情,在代码中-behind,到锚标签,如果你不加runat="server"到锚元素,像这样:

<a href="#login_form" id="login_pop" runat="server">Log In</a> 

一旦你这样做,那么你将能够修改锚标记的属性是这样的:

在代码隐藏,这将禁用的链接:

login_pop.Atributes["disabled"] = "disabled"; 
+0

这不会禁用链接。好吧,它会的,但我可以使用开发人员工具删除禁用的属性,并且,瞧,按钮的作品。非常危险。我实际上刚刚发现了这一点,并试图找到解决方案。一旦找出答案,我会发布一个有效的答复。 – brad

0

添加两个锚点和一个标签控件。将标签的可见性属性设置为none。为了禁用锚点,使用css来隐藏锚点并设置标签的可见性属性。