ASP.NET MVC 3 регистрация маршрута ?
От: x1 http://www.agpage.ru
Дата: 06.09.16 20:18
Оценка:
Здравствуйте! Только начинаю изучать ASP.NET MVC 3.

Необходимо реализовать вызов ajax.

                var urlStr = "~/Account/Register/MyMethod";
                $.ajax({
                    url: urlStr,
                    dataType: "json",
                    type: "GET",
                    contentType: 'application/x-www-form-urlencoded; charset=utf-8',    //replace /json to the urlenoded
                    data: { name: 'Rintu', email: 'Rintu@gmial.com' },                  // data is not json
                    async: true,
                    processData: true,                                                  //important to use it as true
                    cache: false,
                    success: function () {
                        alert('OK');
                    },
                    error: function (xhr) {
                        alert('error ' + urlStr);
                    }
                });

У меня всегда ошибка (error), хотя в файле AccountController создал соотв. метод.
        [HttpGet]
        public JsonResult MyMethod()
        {
            Console.WriteLine("Hi, friend");
            return Json("Response from Find", JsonRequestBehavior.AllowGet);
    }

Насколько я понимаю, надо правильно зарегистировать маршрут в файле Global.asax в функции RegisterRoutes
Что там надо написать для корретного вызова моего метода MyMethod?
Отредактировано 06.09.2016 22:04 AndrewVK . Предыдущая версия .
Re: ASP.NET MVC 3 регистрация маршрута ?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 06.09.16 22:13
Оценка:
Здравствуйте, x1, Вы писали:

x1>var urlStr = "~/Account/Register/MyMethod";


Ты серверный и клиентский код не перепутал? На клиенте никаких тильд, просто /Account/Register/MyMethod.

x1> data: { name: 'Rintu', email: 'Rintu@gmial.com' }, // data is not json

x1>У меня всегда ошибка (error)

Какая конкретно? Какой код приходит с сервера? Что в теле ответа?

x1>[cs]

x1> [HttpGet]
x1> public JsonResult MyMethod()

Зачем тебе JsonResult, если никакого json ты не возвращаешь? И, это, параметры где?
public string MyMethod(string name, string email)


x1>Насколько я понимаю, надо правильно зарегистировать маршрут в файле Global.asax в функции RegisterRoutes


Если у тебя веб-проект создан не в совсем древней студии, то достаточно просто повесить атрибут на метод:
[Route("Account/Register/MyMethod")]
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re: ASP.NET MVC 3 регистрация маршрута ?
От: __SPIRIT__ Россия  
Дата: 06.09.16 22:14
Оценка:
Здравствуйте, x1, Вы писали:

x1>
x1>                var urlStr = "~/Account/Register/MyMethod";
x1>

x1>У меня всегда ошибка (error), хотя в файле AccountController создал соотв. метод.

поправь ссылку.
Либо роутинг пропиши в Global.asax.cs, сэмплов куча.

З.Ы.
Лучше взять последний mvc. Третий тоже ничего, но без асинхронных экшенов и удобного контроля пайплайна обработки реквеста будет грустно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.