如果用户未登录,如何禁用?
<asp:MenuItem NavigateUrl="~/Customizations.aspx" Text="Customizations" Enabled="<%# Page.User.Identity.IsAuthenticated %>" />
即使我在Page_Load方法中指定了Page.DataBind(),也不起作用。
<% if (HttpContext.User.Identity.IsAuthenticated) { %>
<asp:MenuItem NavigateUrl="~/Customizations.aspx" Text="Customizations" />
<% } %>
给出错误:分析器错误消息:此上下文不支持代码块。
我尝试添加ID属性,但是它提示错误,说明它不是受支持的属性。
有什么想法吗?
答案 0 :(得分:2)
在尝试制作像winforms这样的网页形式时,微软出现了简短,并没有忠实地代表winforms MenuItem对象中的很多属性,特别是Visible属性。他们还密封了班级,禁止通过多态性解决这种疏忽。
能够做到这样的事情会很棒:
<asp:MenuItem NavigateUrl="~/Customizations.aspx" Text="Customizations" Visible="<%# HttpContext.User.Identity.IsAuthenticated %>/>
您可能不得不在代码隐藏中建立或修改列表。
答案 1 :(得分:0)
我会说通过设置Visible =“false”来默认用户可能会遇到的问题,对于应该可见的那些默认,在代码中设置Visible = true ...没有任何良好的内联支持这是在网络表格中。
HTH