gpt4 book ai didi

c# - 用于 ajax 的 ASP.NET MVC4 Controller 的 ActionMethod 的正确路径

转载 作者:行者123 更新时间:2023-11-30 14:50:32 25 4
gpt4 key购买 nike

我有以下 MVC4 应用程序结构:

application structure
我正在尝试从 Index.cshtml 对位于我的 HomeController.cs 中的 SomeActionMethod() 进行 ajax 调用

Index.cshtml 看起来像:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="Scripts/jquery-2.2.2.min.js"></script>
</head>
<body>
<script>
$.ajax({
url: '@Url.Action("SomeActionMethod", "HomeController")',
type: "POST",
cache: false,
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert(data);
},
error: function () {
alert("fail");
}
});
</script>
</body>
</html>

HomeController.cs 看起来像:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace SapRepLanciatoreCAS.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}

//trying to invoke from ajax
[HttpPost]
public ActionResult SomeActionMethod()
{
return Json(new { foo = "bar", baz = "Blech" });
}
}
}

当我启动我的应用程序时,出现了这个错误: enter image description here

路径或 Controller 有什么问题?

最佳答案

MVC 考虑了 controller 名称的第一部分,即忽略 Controller 关键字(请参阅您的 View ,它称为 Home)。所以你的 url 应该是 - 将 HomeController 更改为 Home:

url: '@Url.Action("SomeActionMethod", "Home")',

关于c# - 用于 ajax 的 ASP.NET MVC4 Controller 的 ActionMethod 的正确路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36305762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com