Asp.Net Mvc4:如何在js文件中使用@字符
本文关键字:文件 字符 js Mvc4 Net Asp | 更新日期: 2023-09-27 17:50:07
我有一个js文件名为:myfile.js
它的内容看起来像:
function fnGetFilterVals(){
var f = '?';
f += '&fltInsertDate=' + $('#fltCreateDate').val();
f += '&fltStatusID=' + $('#fltStatus').val();
@if (ViewBag.GetCompanyID == -1)
{
<text>f += '&fltCompanyIDs=' + $('#fltCompany').val();</text>
}
return f;
}
我在BundleConfig.cs
中创建了一个包:
bundles.Add(new ScriptBundle("~/bundles/myfile").Include("~/static/asset/myfile.js"));
之后,我包含它来查看"@section Scripts":
@Scripts.Render("~/bundles/myfile")
由于我的文件包含@字符,页面引发"Uncaught SyntaxError: Unexpected token ILLEGAL"错误。
@if (ViewBag.GetCompanyID == -1)
我如何在一个分离的js文件中使用@
字符?
可以用RazorJS来做,但这可能不是你想要的。bundle意味着它将把你所有的javascript文件压缩到一个bundle中,并且在它们在文件系统上被修改之前不会再碰它们。这意味着你的ViewBag不会被更新。
你应该在单独的javascript文件中只有库,并在视图中添加特定的函数调用,并使用正确的参数。您应该将ViewBag.GetCompanyID
作为fnGetFilterVals
函数的参数从视图发送。