2

I am using 'jQuery Impromptu' for prompt a user for input, below is the code

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

I use a .cshtml file (Resource for reading resource file

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

When running the application, it will show 'Yes' and 'No' text in buttons in the prompt, but when I enable Optimization (using BundleTable.EnableOptimizations = true) it shows error:

Minification failed. Returning unminified contents.

How can I solve this issue?

4

1 回答 1

1

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

要解决此问题,请单独构建对象并将其提供给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...
  }
});
于 2018-05-15T09:29:51.063 回答