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

标签 jquery asp.net-mvc impromptu

我使用“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>

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

Minification failed. Returning unminified contents.

如何解决这个问题?

最佳答案

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

要解决此问题,请单独构建对象并将其提供给 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...
  }
});

关于jquery - 在 MVC 中使用 BundleTable.EnableOptimizations 时读取 Js 文件中的资源文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50346495/

相关文章:

javascript - 带有对话框的 Selenium 测试问题

php - 在javascript中动态添加一个phparray变量

javascript - jQuery datetimepicker 输入文本在选择时间时显示日期 31/12/1899

javascript - Twitter Bootstrap 下拉菜单无法正常工作

php - json_decode - 来自 AJAX 请求的格式错误的 JSON

javascript - 如何从模型创建数组?

asp.net-mvc - ASP.NET MVC中的CSS/JS文件自动版本化?

asp.net-mvc - AJAX 加载是否会影响搜索引擎优化?

jquery - 如何在表单的提交事件监听器中放置回调以等待用户对 jquery 即兴提示的响应?

javascript - 如何通过 jQuery 中元素的索引设置数据属性值?