【发布时间】:2010-01-25 15:58:28
【问题描述】:
我的网站有一个母版页,用于设置网站其余部分的样式并进行用户身份验证。这工作得很好,除了我有一个页面我想保留来自主人的样式但不进行身份验证,因为这是告诉用户他们没有经过身份验证的页面。如何从这一页覆盖 MasterPage 的 Page_Load 方法?关于如何在不从主服务器移动身份验证的情况下无法在这一页面上进行身份验证的任何其他想法?
【问题讨论】:
标签: asp.net master-pages
我的网站有一个母版页,用于设置网站其余部分的样式并进行用户身份验证。这工作得很好,除了我有一个页面我想保留来自主人的样式但不进行身份验证,因为这是告诉用户他们没有经过身份验证的页面。如何从这一页覆盖 MasterPage 的 Page_Load 方法?关于如何在不从主服务器移动身份验证的情况下无法在这一页面上进行身份验证的任何其他想法?
【问题讨论】:
标签: asp.net master-pages
也许在 Request.Current.Url 中的某处检查您的母版页以获取当前页面名称 (Whatever.aspx) 并跳过对其进行身份验证。
【讨论】:
您可以在母版页上创建一个默认为 true 的属性,这意味着应该进行身份验证。然后,您可以在单个页面的初始化逻辑中将该属性设置为 false。当母版页尝试进行身份验证时,它应该首先检查此属性的状态。
有关如何与这样的母版页进行通信的示例,请查看this article 的抽象交互部分。
【讨论】:
使用 Request.Current.Url 检测页面是一个很好的解决方案。
另一种方法是使用 LoginView,它具有 LoggedInTemplate、AnonymousTemplate 和角色支持来查看内容。
【讨论】: