在我的Site.Master.vb文件中,我有一个自定义User
对象:
Public Class Site
Inherits System.Web.UI.MasterPage
Public Property u as User
Protected Sub Page_Load(ByVal sender as Object, ByVal e as System.EventArgs) Handles Me.Load
u = New User
u.loggedIn = True 'Just as an example
End Class
现在,在其中一个内容页面中,我希望能够看到用户是否已登录。我想如果在Site Master中声明了对象u
,我可以在页面中使用它来自Site Master。例如,我想这样做:
...
<% If u.loggedIn Then %>
<!-- display some HTML button here, ONLY if the user is logged in -->
<% Else %>
<!-- display something else, if the user is logged out -->
<% End If %>
是否有其他方法可以实现这一目标?
答案 0 :(得分:1)
获取Page.Master
的引用 - 您需要将其强制转换为母版页的类型才能访问自定义属性。
您可以在自己网页的属性中执行此操作,以便于使用。
答案 1 :(得分:0)
您可以在contentPage中添加 masterType指令。然后,您可以访问您的公共财产键入。
<%MasterType VirtualPath="~/PATH_MASTER_PAGE/yourMasterPageName.master" %>
在 contentPage.vb
中if Pager.Master.u.loggedIn then
' do something
else
' do something else
end if
HTH
答案 2 :(得分:-1)
对我来说,如果你使用会话变量或viewstate服务器端,比如
,那就更好了Session [“loggedIn”] = true