JavaScript 在 MSVS 上执行和工作,但在发布时不起作用

本文关键字:不起作用 布时 MSVS 执行 JavaScript 工作 | 更新日期: 2023-09-27 17:57:14

我正在使用Lightswitch,我正在使用这个javascript根据当前用户权限隐藏一些按钮。我正在遵循MSDN的本教程:

https://msdn.microsoft.com/en-us/library/ff852062.aspx

这是我的页面

/// <reference path="~/GeneratedArtifacts/viewModel.js" />
myapp.Inicio.VisualizarAgenda_execute = function (screen) {
window.location = "../WebForms/Agenda.aspx";
};
myapp.Inicio.VisualizarCorridaExecutadaCompleta_execute = function (screen) {
// Write code here.
window.location = "../WebForms/CorridaExecutadaCorridaCompleta.aspx";
};
myapp.Inicio.ColetaMotoristaCorridas_execute = function (screen) {
window.location = "../WebForms/ColetaMotoristaCorrida.aspx";
};
myapp.Inicio.created = function (screen) {
//screen.getCanExecuteClientes().then(function success() {
//    screen.findContentItem("ShowBrowseClientes").isVisible = true;
//}, function error() {
//    screen.findContentItem("ShowBrowseClientes").isVisible = false;
//})
//screen.getCanExecuteMotoristas().then(function success() {
//    screen.findContentItem("ShowBrowseMotoristas").isVisible = true;
//}, function error() {
//    screen.findContentItem("ShowBrowseMotoristas").isVisible = false;
//})
//screen.getCanExecuteVeiculos().then(function success() {
//    screen.findContentItem("ShowBrowseVeiculoes").isVisible = true;
//}, function error() {
//    screen.findContentItem("ShowBrowseVeiculoes").isVisible = false;
//})
screen.getCanExecuteEnderecosCorrida().then(function success() {
    screen.findContentItem("ShowBrowseEnderecoCorridas").isVisible = true;
}, function error() {
    screen.findContentItem("ShowBrowseEnderecoCorridas").isVisible = false;
})
screen.getCanExecuteCorridas().then(function success() {
    screen.findContentItem("ShowBrowseRotas").isVisible = true;
}, function error() {
    screen.findContentItem("ShowBrowseRotas").isVisible = false;
})
screen.getCanExecuteCorridasAgendadas().then(function success() {
    screen.findContentItem("ShowBrowseProgramacoesRota").isVisible = true;
}, function error() {
    screen.findContentItem("ShowBrowseProgramacoesRota").isVisible = false;
})
screen.getCanExecuteCorridasExecutadas().then(function success() {
    screen.findContentItem("ShowBrowseCorridaEsporadicas").isVisible = true;
    screen.findContentItem("ShowBrowseCorridas").isVisible = true;
}, function error() {
    screen.findContentItem("ShowBrowseCorridaEsporadicas").isVisible = false;
    screen.findContentItem("ShowBrowseCorridas").isVisible = false;
})
screen.getIsMotoristaQuery().then(function success() {
    screen.findContentItem("Cadastros").isVisible = false;
    screen.findContentItem("Fechamento").isVisible = false;
    screen.findContentItem("Relatorios").isVisible = false;
    screen.findContentItem("Basicos").isVisible = false;
    //screen.findContentItem("ShowBrowseColetaMotoristaCorridas").isVisible = true;
}, function error() {
    screen.findContentItem("Cadastros").isVisible = true;
    screen.findContentItem("Fechamento").isVisible = true;
    screen.findContentItem("Relatorios").isVisible = true;
    screen.findContentItem("Basicos").isVisible = true;
    //screen.findContentItem("ShowBrowseColetaMotoristaCorridas").isVisible = false;
})
};

我的问题是:当我在调试时,它工作得很好。当我在自己的计算机上部署时,仍然有效。当我在托管在IIS上的Windows服务器上部署时,没有任何反应。

使用两种浏览器进行测试(服务器内部的本地浏览器,以及我的开发计算机上的本地浏览器,与服务器不在同一网络上)

JavaScript 在 MSVS 上执行和工作,但在发布时不起作用

如果您通过从渲染的 HTML 复制控件来使用控件的 ID,那么是的,当您部署它时它可能不起作用。您必须在 jQuery 中使用类选择器来实现这一点或查找内容项的真实 ID,或者如果您使用的是 .NET 4 及更高版本,则可以使用静态 ID。