在 MVC 中使用 BundleTable.EnableOptimizations 时读取 Js 文件中的资源文件时出现



我正在使用'jQuery Impromptu'来提示用户输入,下面是代码

$.prompt(Resource.DeleteConfirm, {
buttons: { 
[Resource.Res_Option_Yes]: true, 
[Resource.Res_Option_No]: false 
},
submit: function (e, v, m, f) {
if (!v) {
return;
} else {
}
}
});

我使用 .cshtml 文件(用于读取资源文件的资源(

<script type="text/javascript">
var Resource = {
Res_Option_Yes: '@Resource.res_Option_Yes',
Res_Option_No: '@Resource.res_Option_No',
DeleteConfirm: '@Resource.DeleteConfirm'
};
</script>

运行应用程序时,它会在提示的按钮中显示"是"和"否"文本,但是当我启用优化(使用BundleTable.EnableOptimizations = true(时,它会显示错误:

缩小失败。返回未缩小的内容。

如何解决此问题?

缩小失败是因为它不喜欢(或可能理解(将内联变量包装在方括号中的重要性,以便将其值用作对象的键。

若要解决此问题,请单独生成对象并将其提供给buttons属性,如下所示:

var buttons = {};
buttons[Resource.Res_Option_Yes] = true;
buttons[Resource.Res_Option_No] = false;
$.prompt(Resource.DeleteConfirm, {
buttons: buttons,
submit: function (e, v, m, f) {
// note the logic you had in here is redundant...
}
});

相关内容