【发布时间】:2013-05-22 02:28:00
【问题描述】:
我有一个单页 JQM 应用程序 - 所有 JQM“页面”都在一个文档中:
<div>
@RenderPage("Views/login.cshtml")
@RenderPage("Views/page1.cshtml")
@RenderPage("Views/page2.cshtml")
</div>
如何在默认情况下禁用显示 JQM 页面,当前恰好是 login.cshtml,这样我可以在用户登录后手动调用转换方法从历史记录中删除登录页面?这就是我想在初始文档加载时手动调用的内容:
$.mobile.changePage('#login-page', { reverse: false, changeHash: true });
或者,是否可以在不调用changePage 的情况下将“reverse”属性设置为 false?
【问题讨论】:
-
您的应用程序逻辑错误...如果用户已登录,您根本不应该渲染登录页面。如果其他页面没有,您从技术上讲不应该渲染其他页面登录!
-
@ahren 这是单页应用程序的演示部分。他们无论如何都无法在没有身份验证的情况下访问任何 Web 服务调用,所以我看不出这里有什么问题。此外,一次只从 JQM 向用户呈现一页。应用程序的其余逻辑与问题无关。
-
如果我理解正确,您想决定要显示哪个页面?如果用户未登录,则登录页面或用户已登录的页面1?
-
@Gajotres 我目前可以控制页面的显示方式,但我似乎无法找到从导航历史记录中删除登录页面的方法 - 所以当用户登录时,或者登录并被重定向,他们仍然可以通过浏览器的后退按钮导航回登录页面。这将通过 $.mobile.changePage 解决(在帖子中演示),但在我的情况下,整个应用程序位于一个文档上,登录页面首先自动显示,这不允许我通过“导航到它” $.mobile.changePage"。
标签: jquery asp.net-mvc jquery-mobile