ASP.NET MVC - двойное действие - PullRequest
       4

ASP.NET MVC - двойное действие

0 голосов
/ 27 февраля 2011

У меня есть веб-сайт, работающий на ASP.NET MVC 2 - на одном действии у меня работает некоторый код, а затем возвращается ДРУГОЕ представление, отличное от имени действия.т.е. - action1 вернет представление «view2».

Почему-то action1 запускается один раз, затем вызывает

return View("view2",model)

и запускается снова, во второй раз.

Почемуэто так?и можно ли это исправить?

РЕДАКТИРОВАТЬ: добавлен некоторый код

Действие:

public ActionResult View1(int id, int id2) {
// some code ...
return View("View2", u);
}

где View2 не имеет ничего общего с View1 или действием (просто необходимо длядисплей).

Маршрут:

    routes.MapRoute(
        "Default", // Route name
        "{action}/{id}", // URL with parameters
        new { controller = "Main", action = "Index", id = UrlParameter.Optional } // Parameter defaults
    );


    routes.MapRoute(
        "View1", // Route name
        "View1/{id}/{id2}", // URL with parameters
        new { controller = "Main", action = "View1" } // Parameter defaults
    );

Ссылка:

http://<some server>/View1/15/fb

Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 июня 2012

У меня была такая же проблема, как и у вас.

Есть несколько возможных причин, по которым они производят это двойное действие.Вот несколько полезных ссылок:

Дважды вызывается контроллер MVC

Действие ASP.NET MVC вызывается дважды

В моем случае было расширение для Chrome под названием «HTML Validator 1.3.3».Это расширение снова вызывало действие.(Я думаю, чтобы сделать проверку)

0 голосов
/ 22 июня 2011

Поставьте маршрут по умолчанию внизу.Маршруты оцениваются сверху вниз, поэтому ...

http://<some server>/View1/15/fb

... оценивается по маршруту по умолчанию как Controller = Main, Action = View1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...