【问题标题】:JavaScript in ASP.NET MVC 4ASP.NET MVC 4 中的 JavaScript
【发布时间】:2016-06-14 15:02:44
【问题描述】:

我在使用 JavaScript 时遇到了一些问题。如何在 razor @foreach 部分使用 JavaScript?所以,我试图从模型中获取一些数据并将这些数据放入 HTML 表中。我需要访问在@foreach 部分中设置的变量(带有大写锁定的变量)。有人可以帮我吗?

<script type="text/javascript">
    function AddClick() {

    @foreach (var x in Model) {
        var FIRSTNAME= @x.Name;
        var LASTNAME= @x.Surname;
        var SUBJECT1= @x.Physics;
        var SUBJECT2= @x.Math;

        <text>
        var table = document.getElementById("regtable");
        var row = table.insertRow();

        var zero = row.insertCell();
        var FirstnameCell = row.insertCell(1);
        var LastnameCell = row.insertCell(2);
        var PhysCell = row.insertCell(3);
        var MathCell = row.insertCell(4);

        FirstnameCell.innerHTML = FIRSTNAME ;
        LastnameCell.innerHTML = LASTNAME;
        PhysCell.innerHTML = SUBJECT1;
        MathCell.innerHTML = SUBJECT2;

        </text>

        }

}

【问题讨论】:

标签: javascript asp.net asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

你不能像这样真正混合 Razor 和 JavaScript。 Razor 在服务器端运行,JavaScript 在客户端运行。当 Razor 在服务器端生成 HTML 时,您无法使用 JavaScript,而当 JavaScript 在客户端运行时,任何 Razor 代码都已完成。

您可以使用 Razor 将模型数据转储到 JavaScript 变量中,然后让您的脚本在客户端使用该变量。查看 cmets 中 @Deep 提供的链接,了解如何执行此操作的一个示例。

【讨论】:

  • 我已经理解我的错误 :) 真的,混合服务器和客户端代码是愚蠢的。解决方案是 - AJAX。谢谢大家
猜你喜欢
  • 1970-01-01
  • 2013-01-15
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
  • 1970-01-01
  • 2015-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多