Ошибка HTTP 404 при запуске приложения ASP.Net с использованием MVC 2 - PullRequest
0 голосов
/ 16 сентября 2011

У меня проблемы с попыткой заставить очень простое приложение ASP.Net начать использовать .Net Framework 4 и MVC 2.

При нажатии клавиши F5 в Visual Studio 2010 я получаю следующее сообщение об ошибке HTTP 404. Возможно, искомый ресурс (или одна из его зависимостей) был удален, изменилось его имя или временно не может. Пожалуйста, просмотрите следующий URL и убедитесь, что он написан правильно.

Когда я добавил представление, я добавил представление, щелкнув правой кнопкой мыши метод в контроллере, и это, конечно, добавило представление. Я также заметил, что при выборе «Перейти к представлению» это также приводит к ошибке в Visual Studio и говорит, что представление не существует! Кроме того, я перешел на страницу Global.asax и изменил контроллер по умолчанию на тот, который я добавил, но это НИЧЕГО не изменило.

Итак, пожалуйста, скажите мне - но мне нужно изменить?

Ответы [ 3 ]

2 голосов
/ 16 сентября 2011

Попробуйте перейти к /ControllerName/ActionName. Если вы изменили значение по умолчанию, вы должны убедиться, что написали его правильно. Также обратите внимание, что ASP.NET MVC Framework удаляет суффикс «Controller» имен контроллеров.

Если ваш новый контроллер называется MyNewController, он должен:

  1. Наследовать от Controller
  2. Называйся MyNewController

Как это

public MyNewController : Controller {
    public ActionsResult MyAction() {
       return View();
    }
}

В Global.asax.cs для этого случая значения по умолчанию равны:

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{id}", 
    new { controller = "MyNew", action = "MyAction" }
);

Обратите внимание, что в настройках контроллера по умолчанию отсутствует суффикс "Controller".

0 голосов
/ 16 октября 2013

Была похожая проблема.Я сделал ошибку, изменив маршрут по умолчанию:

url: "{controller}/{action}/{id}",

На это:

url: "{controller}/{action}/{id*}",

Размещение звездочки в неправильном месте привело к тому, что абсолютно каждый URL дал мне 404- и, как обычно, маршруты ASP.Net практически невозможно отладить.

Решением было размещение звездочки в нужном месте:

url: "{controller}/{action}/{*id}",

(Это позволяет использовать маршруты с таким количеством косых чертвам нравится, вместо того, чтобы ограничивать их до 3. Часть, отмеченная звездочкой, является ловушкой.)

0 голосов
/ 16 сентября 2011

Для установки MVC необходимо учитывать некоторые соображения.Я думаю, что вы пытаетесь установить его на IIS 5 или 6

Пожалуйста, прочитайте эту статью http://blog.stevensanderson.com/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/ или обновите до IIS 7

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