ajax + ASP MVC歧义控制器

本文关键字:歧义 控制器 MVC ASP ajax | 更新日期: 2023-09-27 18:02:34

我在一个项目中工作,其中包含2个具有相同名称的控制器在不同的命名空间

Web.Mvc.Areas.Company.Controllers
{
    public class TestController {}
}
Web.Mvc.Areas.Employment.Controllers
{
    public class TestController {}
}

我需要通过ajax将文件发送到就业命名空间

中的TestController
 $.ajax({
                                url: 'Test/UploadFiles',
                                type: "POST",
                                contentType: false,
                                processData: false,
                                data: fileData,
                                success: function(result) {
                                    alert(result);
                                },
                                error: function(err) {
                                    alert(err.statusText);
                                }
                            });

我在请求后得到错误500,应用程序发现两个具有相同名称的控制器。是否有可能将正确的名称空间放入ajax请求中?

ajax + ASP MVC歧义控制器

        $.ajax({
            url: '/Employment/Test/UploadFiles',
            type: "POST",
            contentType: false,
            processData: false,
            data: fileData,
            success: function(result) {
                alert(result);
            },
            error: function(err) {
                alert(err.statusText);
            }
        });
如果你能注入Razor语法,

或事件会更好:

        $.ajax({
            url: '@Url.Action("UploadFiles", "Test", new {area = "Employment"})',
            type: "POST",
            contentType: false,
            processData: false,
            data: fileData,
            success: function(result) {
                alert(result);
            },
            error: function(err) {
                alert(err.statusText);
            }
        });

你可以使用基于属性的路由