SyntaxError:missing;声明前的(分号) - 剃刀

时间:2017-04-10 21:00:46

标签: javascript jquery razor syntax

下面的代码块会在缺失的SyntaxError上触发;。以下是Firebug输出的屏幕截图:

enter image description here

<script type="text/javascript">
$(document).ready(function () {
  $("#SelectedMCO").change(function () {

    var scheme = @Request.Url.Scheme.ToString();
    var authority = @Request.Url.Authority.ToString();
    var applicationPath = @Request.ApplicationPath.ToString();

    var url = scheme + "://" + authority + applicationPath +"mytest/" + $("#Selectedoption").val();

    $.getJSON(url, function (data) {
      $("#Selectedsub").empty();
      $.each(data, function(idx, obj) {
        $('#SelectedSub').append('<option value="' + obj.EntityNumber +'">' + obj.Name + '</option>');
      });
    });
  });
});
</script>

1 个答案:

答案 0 :(得分:2)

您只需要将Razor变量括在引号中:

  <script type="text/javascript">
     $(document).ready(function () {
        $("#SelectedMCO").change(function () {

            var scheme = '@Request.Url.Scheme.ToString()';
            var authority = '@Request.Url.Authority.ToString()';
            var applicationPath = '@Request.ApplicationPath.ToString()';

            var url = scheme + "://" + authority + applicationPath 
                      +"mytest/" + $("#Selectedoption").val();

            $.getJSON(url, function (data) {
                $("#Selectedsub").empty();
                $.each(data, function(idx, obj) {
                    $('#SelectedSub').append('<option value="' + 
                      obj.EntityNumber +'">' + obj.Name + '</option>');
                });
            });
        });
    });
  </script>

这将确保JavaScript解释器将您的变量解释为字符串。

相关问题