Lightswitch默认在主页上提供了一个Logout按钮,但是我也希望能够选择在其他页面上注销。是否可以将注销按钮放在多个页面上?
答案 0 :(得分:4)
如果您正在使用HTML客户端,可以通过替换LightSwitch库的_determineButtons函数中的以下代码行来轻松实现: -
result.showLogOut = msls_shell.getHomeScreen() === navigationUnit.screen.details.getModel();
使用以下代码行: -
result.showLogOut = true;
此函数位于Scripts \ msls - ?。?。?。js文件中,为了应用此类库文件更改,您需要引用LightSwitch库的未缩小版本通过在HTML客户端的default.htm文件中进行以下更改: -
<!--<script type="text/javascript" src="Scripts/msls-?.?.?.min.js"></script>-->
<script type="text/javascript" src="Scripts/msls-?.?.?.js"></script>
msls参考中的问号需要反映您正在使用的版本,例如msls-2.5.2.js(适用于Visual Studio 2013 Update 4)。
上述方法将强制LogOut按钮出现在每个页面上。但是,如果您需要更多地控制LogOut按钮何时出现,您可以在_determineButtons函数中使用以下替代更改: -
result.showLogOut = window.msls.showLogOut;
然后,在每个屏幕的创建方法中,当您希望按钮出现时将msls.showLogOut属性设置为true,而当您不希望按钮出现时将其设置为false: -
myapp.BrowseContacts.created = function (screen) {
// Write code here.
msls.showLogOut = true;
};
答案 1 :(得分:1)
您不会说出什么版本或语言。这是用于VS2012,Lightswitch Web应用程序的VB。
向屏幕命令栏添加一个按钮,将其命名为Logout(如果需要,可以在“属性”面板中为其选择图像)。右键单击该按钮,然后选择“编辑执行代码”。使用以下内容:
Private Sub Logout_Execute()
Microsoft.LightSwitch.Threading.Dispatchers.Main.BeginInvoke(
Sub()
System.Windows.Browser.HtmlPage.Window.Navigate(New Uri("../LogOut.aspx", UriKind.Relative))
End Sub)
End Sub
适合我。
菲尔