使用内联标记设置div的Visible属性

时间:2011-07-29 10:30:02

标签: c# asp.net

我正在尝试通过调用后面代码中的函数直接从页面中的代码设置具有runat ='server'属性的div的Visible属性,但似乎根本没有评估代码由服务器。 代码看起来像这样

<div id="mydiv" runat="server" Visible='<%# IsInRole("User") %>'>

其中'IsInRole'是返回bool的页面上的受保护函数。

非常感谢

找到解决方案:

<% if (IsInRole("Administrator")){%>
    <div id="mydiv">Admin content here</div>
<% }%>

2 个答案:

答案 0 :(得分:2)

由于div是runat =“server”,你应该可以从pageload中的代码后面的代码访问它:

mydiv.Visible = IsInRole(用户);

(如果IsInRole返回true或false)

答案 1 :(得分:1)

<div id="mydiv" runat="server" Visible='<%# IsInRole("User") %>'>

#表示数据绑定,仅在数据绑定完成时评估其内容。首先,请确保您的控件在页面执行期间是数据绑定,其次是您的值在当时正确评估。

否则你可能更喜欢

<div id="mydiv" runat="server" Visible='<%= IsInRole("User") %>'>

每次执行页面时都会评估您的表达式。

有关详细信息,请参阅this blog