1

我有一个 asp.net 项目,其中包含 asp.net mvc 2 代码的 Area 文件夹。当我创建该区域时,它创建了一个“视图”和一个“控制器”文件夹。

我的视图是局部视图,所以是 .ascx。从这个角度来看,我想在 Ajax 中调用一个控制器方法。

这是我的观点代码:

<script type="text/javascript">
  $("#<%=btnSearch.ClientID %>").click(function() {
    var text = $("#<%=tbSearchBox.ClientID %>").val;
    $.ajax({
        type: "GET",
        url: '/Areas/Settings/User/SearchUser',
        success: function(msg) {
            alert("toto");
        }
    });
  });
</script>

Areas 是区域的文件夹名称,Settings 是包含 Controller 和 View 文件夹的文件夹名称,User 是文件夹 Controller (UserController) 的控制器,SearchUser 是我要调用的方法。

此刻,这个方法只有:

/// <summary>
/// Évènement déclenché lors de la recherche d'un utilisateur.
/// </summary>
/// <param name="text">Le texte à chercher.</param>
/// <returns>OK</returns>
public string SearchUser(string text)
{
    return "OK";
}

我上铬:

GET http://localhost/Areas/Settings/User/SearchUser 404 (Not Found)

我能怎么做 ?

4

1 回答 1

0

您可以尝试通过 Url.Action(..) 方法替换硬编码的 url:

..
url: '<%= Url.Action(..) %>',
..
于 2012-10-16T12:33:43.410 回答