【问题标题】:How to use javascript code inside Razor如何在 Razor 中使用 javascript 代码
【发布时间】:2017-12-15 15:17:03
【问题描述】:

我正在尝试在 razor 中使用 javascript 变量。我该怎么做?

<script type="text/javascript">
var counter = @(Model.questions == null ? 0 : Model.questions.Count);
$("#Add").on('click', function (e) {
        $("#sorular").append(`<div class="form-group"><label class="control-label col-md-1">Question</label>
              <div class="col-md-4">
              @Html.TextBoxFor(m => m.questions[${ counter + 1}].Soru)
              </div>
              </div>`);
        counter += 1;
    });
</script>

在第 6 行“计数器”变量是一个 javascript,我需要在这一行中使用它。我尝试使用 $ 但它返回一个错误。

【问题讨论】:

  • 由于您在上面的源代码中使用了jQuery,您是否还包含了jQuery 库? $ is not defined 的语法错误通常表示没有加载任何jQuery 库。
  • 是的,我做到了。错误是计数器在当前上下文中不存在

标签: javascript razor model-view-controller


【解决方案1】:

你不能在 Razor 代码上使用 JS 变量,但你不能使用自己的 ViewBag 来做:

@{
     var counter = (Model.questions == null ? 0 : Model.questions.Count);
}
@Html.TextBoxFor(m => m.questions[counter + 1].Soru)

【讨论】:

  • 我试过了:@{ var counter = (Model.questions == null ? 0 : Model.questions.Count); } @Html.TextBoxFor(m => m.questions[counter + 1].Soru) @{counter += 1; } 但 counter 的结果总是 1
  • 那是你的模型有问题,不是你的问题的JavaScript
猜你喜欢
  • 2017-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-20
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
相关资源
最近更新 更多