【发布时间】:2012-07-27 06:22:54
【问题描述】:
我试图隐藏一个 ASP.NET 表行,但下面的代码部分不起作用,我不知道语法有什么问题。
不工作:
<asp:TableRow runat="server" Visible='<%# Roles.IsUserInRole("ARoleThatIsNotInDatabase") %>'>
</asp:TableRow>
工作:
<asp:TableRow runat="server" Visible='False'>
</asp:TableRow>
工作:
if (System.Web.Security.Roles.IsUserInRole("ARoleThatIsNotInDatabase"))
{//Not Entering this area as expected
}
【问题讨论】:
-
仔细检查您实际上是在页面中调用
this.DataBind(); -
似乎极不可能与
Roles.IsUserInRole相关。你对Visible='<%# true %>'和Visible='<%# false %>'有什么看法? -
@Jupaol,我添加了 this.databind();页面加载并开始工作,请将其写为答案,我会接受它,但实际上我无法通过阅读数据绑定方法的定义来理解背后的逻辑,如果您包含任何相关的文档,我将不胜感激逻辑。
-
好的,我已经作为答案发布了
标签: c# asp.net syntax tags roles