为什么我不能在没有runat = server的情况下绑定控件的可见性?

Mat*_*nes 1 c# asp.net

换句话说,为什么我不能这样做:

<a id="projectsButton" 
visible=<%= someFunctionWhichEvalsToFalse() ? false : true %>>
</a>
Run Code Online (Sandbox Code Playgroud)

它似乎什么都不做.我通过切换false和true来检查这一点.

我该怎么办?

SLa*_*aks 8

您可以这样做,但它不会做任何事情,因为HTML没有visible属性.

相反,您可以设置displayCSS属性,如下所示:

<a id="projectsButton" 
   style="display: <%= someFunctionWhichEvalsToFalse() ? "none" : "inline" %>">
Run Code Online (Sandbox Code Playgroud)

或者,您可以将整个标记放入if块中,如下所示:

<% if (!someFunctionWhichEvalsToFalse()) { %>
    <a id="projectsButton"></a>
<% } %>
Run Code Online (Sandbox Code Playgroud)

  • 它可能显示为"Visible",因为它是HTML元素的合法属性,使用`runat ="server"`进入服务器控制. (3认同)