通过ajax调用HomeController中的方法

本文关键字:方法 HomeController ajax 调用 通过 | 更新日期: 2023-09-27 18:09:17

我无法通过以下方式从视图发出ajax请求:

C:'Users'Programmer'Documents'visual studio 2012'Projects'RatingCandidate'RatingCandidate'Views'Home'Index.aspx

ajax请求试图调用HomeController中的方法,方法如下:

C:'Users'Senior'Documents'visual studio 2012'Projects'RatingCandidate'RatingCandidate'Controllers'HomeController.cs

在视图中,我调用onclick button中的函数:

<input type="button" style="width: 100px; height: 30px;" value="Enviar" runat="server" onclick="SendEmail()" />

和ajax:

function SendEmail() {
    $.ajax({
        url: '../Controllers/HomeController/SendEmail',
        type: 'POST',
        //data: { className: cName },// Your parameter
        success: function (result) {
            // What you want to do after the call
        }
    });
};

和HomeController正在尝试接收以下内容:

[HttpPost]
public JsonResult SendEmail()
{
    return Json(true, JsonRequestBehavior.AllowGet);
}

我相信这是我的疏忽,但不知道在哪里,有没有人知道他可能在哪里出错?

通过ajax调用HomeController中的方法

你需要搜索的是MVC中的路由。

你不会像调用文件或其他东西那样调用你的控制器。控制器类的虚拟路径与包含该类的.cs文件的路径无关。

默认路由定义如下:{Controller}/{Action}/{Id}(其中Id id可选),因此要调用您的控制器,您应该调用Home/SendEmail(控制器名称默认不带Controller后缀)。

请查看http://www.asp.net/mvc/overview/controllers-and-routing