在没有长参数列表的情况下调用外部.js文件javascript函数
我有两个MVC Razor视图(.cshtml),其中包含几乎相同的Javascript函数 为了消除重复的javascript代码,我想将javascript从视图中提取到一个包含函数的外部javascript文件(.js)(带有一个参数,可用于区分每个视图所需的细微差异) 视图中的Javascript包含Razor语法,用于访问许多asp.net资源文件(.resx)文本值(例如var foo='@ResourceFileName.Bar';),不幸的是,Razor引擎没有为我解析这些值 为了克服这个问题,我可以将所有资源文件文本值作为参数传递给.js文件中的函数,但我不希望这样做,因为参数列表会变得非常大 RazorJS包()允许我在.js文件中使用Razor语法,但这个包上一次发布是在2011年,这让我很担心 我可以使用什么技术来调用外部化函数,而不需要庞大的长参数列表 我可以使用什么技术来调用外部化函数而不使用 一个很长的参数列表 它不需要是一个庞大的参数列表。包含所有必要资源属性的单个参数就足够了:在没有长参数列表的情况下调用外部.js文件javascript函数,javascript,asp.net-mvc,razor,Javascript,Asp.net Mvc,Razor,我有两个MVC Razor视图(.cshtml),其中包含几乎相同的Javascript函数 为了消除重复的javascript代码,我想将javascript从视图中提取到一个包含函数的外部javascript文件(.js)(带有一个参数,可用于区分每个视图所需的细微差异) 视图中的Javascript包含Razor语法,用于访问许多asp.net资源文件(.resx)文本值(例如var foo='@ResourceFileName.Bar';),不幸的是,Razor引擎没有为我解析这些值 为
<script>
var args = @Html.Raw(Json.Encode(new
{
foo = ResourceFileName.Foo,
bar = ResourceFileName.Bar,
baz = ResourceFileName.Baz
}));
myFunction(args);
</script>
function myFunction(args) {
// you can use args.foo, args.bar and args.baz here
}