Javascript 具有综合全局条件的警报

Javascript 具有综合全局条件的警报,javascript,jquery,asp.net-mvc,razor,Javascript,Jquery,Asp.net Mvc,Razor,我是JQuery/JavaScript新手,需要在以下情况下启动: 通知(警报消息)对新用户很有用,但对有经验的用户来说很烦人。因此,我希望根据用户设置,为用户提供显示或不显示这些消息的选项。 为了不必围绕每个警报构建相同的条件(源自用户设置),我想编写一个函数 可以在“我的所有视图”的“脚本”部分使用jquery调用 评估条件并获取传入的文本,并根据条件发送/不发送警报消息 我知道如何围绕警报构建条件,但无法使其全局可访问: var isConfirmActiv = "@UserPrinc

我是JQuery/JavaScript新手,需要在以下情况下启动:

通知(警报消息)对新用户很有用,但对有经验的用户来说很烦人。因此,我希望根据用户设置,为用户提供显示或不显示这些消息的选项。 为了不必围绕每个警报构建相同的条件(源自用户设置),我想编写一个函数

  • 可以在“我的所有视图”的“脚本”部分使用jquery调用
  • 评估条件并获取传入的文本,并根据条件发送/不发送警报消息
我知道如何围绕警报构建条件,但无法使其全局可访问:

var isConfirmActiv = "@UserPrincipal.ConfirmActiv";
var myMessage ="Bla bla";
if (isConfirmActiv.toLowerCase() === "true") {
    alert(myMessage);
}
我想在视图的脚本部分使用它:

(var isConfirmActiv = "@UserPrincipal.ConfirmActiv";) ... somewhere?
myAlert("Bla bla", isConfirmActiv);
在脚本文件中:

function myAlert(myMessage, isConfirmActiv){    
    if (isConfirmActiv.toLowerCase() === "true") {
    alert(myMessage);
    }
} 

必须在全局范围(函数外部)中定义此变量:

例如:

 var isConfirmActiv = "@UserPrincipal.ConfirmActiv";
 function myAlert(string myMessage){        
        if (isConfirmActiv.toLowerCase() === "true") {
            return alert(myMessage);
        }
    }

例如,您可以创建javascript文件并将其命名为实用程序

将函数和全局变量isconfirmativ放在该文件中,并将js文件链接到所有视图或主布局

 var isConfirmActiv;

    function myAlert(myMessage, isConfirmActiv){    
        if (isConfirmActiv.toLowerCase() === "true") {
        alert(myMessage);
        }
    } 

- set directly the global defined isConfirmActiv value in every View in the script section (Note: don't redefine it, its already defined globally in javascript file)

    isConfirmActiv = "@UserPrincipal.ConfirmActiv";

- Now you can call the function from anywhere in your project.

    function myAlert(myMessage, isConfirmActiv){    
        if (isConfirmActiv.toLowerCase() === "true") {
            alert(myMessage);
        }
    } 

不相关,但您应该使用
var isconfiractiv=@Html.Raw(Json.Encode(UserPrincipal.confiractiv))
,这意味着
isconfiractiv
将是一个bool,因此您可以使用
if(isconfiractiv){…}
将变量放在
head
部分的_Layout.cshtml文件中,然后,您可以在任何视图中访问它,但我应该将函数放置在何处?