【发布时间】:2009-05-25 15:11:02
【问题描述】:
我在 aspx 页面后面的代码中使用了一个名为 IsAdmin 的公共变量。
public partial class _news : System.Web.UI.Page
{
public bool IsAdmin = false;
protected void Page_Load(object sender, EventArgs e)
{
if (User.Identity.Name.Contains("admin"))
{
IsAdmin = true;
}
else
{
IsAdmin = false;
}
}
并且我使用属性 Visible='' 分配给我想要显示的面板,如果用户是页面的 aspx 设计中的管理员。奇怪的是,它适用于我放在中继器上的链接按钮。
<asp:Panel ID="Panel1" runat="server" Visible='<%#IsAdmin%>'>
<asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl='<%# "news_edit.aspx? Action=edit&id=" + Convert.ToString( Eval("news_id")) %>Edit</asp:LinkButton>
<asp:LinkButton ID="LinkButton3" runat="server" PostBackUrl='<%# "news.aspx?Action=delete&id=" + Convert.ToString( Eval("news_id")) %>'>Delete</asp:LinkButton>
</asp:Panel>
它工作正常,但是在中继器之外我放了另一个没有面板的链接按钮
<asp:LinkButton ID="LinkButton4" runat="server" PostBackUrl="~/news_edit.aspx?action=new" Visible='<%#IsAdmin%>'>Add New Item</asp:LinkButton>
但可见属性对它不起作用!我也尝试将它放在面板中并设置它的可见属性,但这也不起作用。
所以我有以下疑问
1) 问题是什么? 2)当我们在设计页面中使用“”之类的引用时,技术名称是什么 3)页面加载是在页面渲染之前还是页面渲染之后发生?
谢谢
【问题讨论】:
标签: asp.net