2011-09-24 55 views
1

我有我的div如下我怎样才能使一个div从代码非选择背后

<div class="menu" id="admindiv" runat="server"> 
     <ul> 
      <li><a href="">welcome to my site<!--[if IE 7]><!--></a><!--<![endif]--> 
       <table> 
        <tr> 
         <td> 
          <ul> 
           <li><a href="Reports.aspx">Reports</a></li> 
           <li><a href="Delete.aspx">Delete</a></li> 
          </ul> 
         </td> 
        </tr> 
       </table> 
       <!--[if lte IE 6]></a><![endif]--> 
      </li> 
      <!--[if lte IE 6]></a><![endif]--> 
     </ul> 
</div> 

我想启用或禁用从后面代码的网页上,意味着我想使这个div作为某些条件下的非选择字段。我试过但我没有成功

protected void Page_Load(object sender, EventArgs e) 
{ 
    admindiv.Attributes.Add("style", "color:gray;"); 
    admindiv.Attributes.Add("disabled", "true"); 
} 
+0

'不能选择DIV'的,所以你不能让他们启用或禁用!什么意思?你能解释更多吗? –

+0

我想在页面上显示div,但它应该是不可选的 – Vivekh

+0

您不能使'DIV'不可选。如果你想让这些链接不可点击,那么我会发布。 –

回答

3

你不能让一个DIV不可选。如果你想使链接不可点击,这是代码,snipt做的:

<div class="menu" id="admindiv"> 
     <ul> 
      <li><a href="">welcome to my site<!--[if IE 7]><!--></a><!--<![endif]--> 
       <table> 
        <tr> 
         <td> 
          <ul> 
           <li> 
            <asp:HyperLink ID="Link1" runat="server" Text="Reports" /> 
           </li> 
           <li> 
            <asp:HyperLink ID="Link2" runat="server" Text="Delete" /> 
           </li> 
          </ul> 
         </td> 
        </tr> 
       </table> 
       <!--[if lte IE 6]></a><![endif]--> 
      </li> 
      <!--[if lte IE 6]></a><![endif]--> 
     </ul> 
</div> 

隐藏代码:

protected void Page_Load(object sender, EventArgs e) { 

    if(isAdmin) { // check for admin user 
     Link1.NavigateUrl = "Reports.aspx"; 
     Link1.NavigateUr2 = "Delete.aspx"; 
    } else { 
     Link1.NavigateUrl = "javascript:return void;"; 
     Link1.NavigateUr2 = "javascript:return void;"; 
    } 

} 
+0

我有一个小问题,当链接的导航设置为假时,我可以添加警报吗 – Vivekh

+0

是的,你可以,但这是另一个问题。创建一个新问题,把这个问题的链接放在新的主体中,然后问你想要什么。您也可以通过在此处创建评论来通知我有关您的新问题。 –

+0

发表我的问题http://stackoverflow.com/questions/7550914/how-to-display-an-alert-box-on-a-non-clickable-link-button – Vivekh

2

Div可以显示和隐藏,但不禁用。如果div可见,则其内容将处于活动状态,除非您单独禁用每个项目。

禁用每个控件的另一个选项是创建一个透明的新div,但位于要禁用的部分的顶部,然后仅显示/隐藏该代码的背后。

但是,这不是一种安全机制,因为任何具有浏览器HTML开发人员插件(如firebug)的人都可以删除该div并获得对控件的访问权限。

禁止在ASP.NET链接,最好的办法是增加一个“点击”事件(用了LinkBut​​ton超链接的作品):

LinkButton1.Attributes["OnClick"] = “return false;”;