首页 > 解决方案 > JavaScript 在 MVC Razor 页面中不起作用(可能是 AJAX 造成的)

问题描述

我将结果从控制器返回到视图,如下所示:

public async Task<ActionResult> Index(decimal? x, decimal? y)
{

...
result = JsonConvert.DeserializeObject<List<road>>(roads);
 return View(result);
}


In the View I have, 

function CallFunction() {

alert("test");
}

@if (Model != null)
{
   <text>alert("test");</text>
  @Html.Raw("CallFunction();");
}

  $.ajax({
          url: "Home/Index",
          type: "GET",
          dataType: "html",
          data: { val1: x, val2: y},

          success: function (data) {
                      
           },

          error: function (data)
           {
                //alert(data);
           }

           })

在上面的代码中,警报不起作用。当我将“if (Model != null)”替换为“if (true)”时,Javascript 警报会起作用。我进行了调试,我确信“if (Model != null)”的计算结果为真。这里的目标是检查模型属性的特定值,然后提醒用户。它必须是对控制器的 AJAX 回调(控制器和视图之间的通信不断进行)导致它不起作用。任何帮助表示赞赏。

标签: javascriptajaxmodel-view-controller

解决方案


推荐阅读