Лучшее решение, которое я могу найти, - это , а не , смешать MVC 3 с существующим сайтом веб-форм.Вместо этого установите каталог MVC в качестве собственной отправной точки приложения, а затем запустите MVC из этой папки, чтобы он и существующее приложение веб-форм полностью не знали друг друга.Таким образом, обработчик ресурсов, httpmodules и другие обработчики все еще работают для сайта webforms.И таким образом корень домена переходит к webforms default.aspx, а не MVC по умолчанию.Также мне не нужно помещать эту запись в global.asax, который, в свою очередь, испортил 3 URL-адреса mvc.Следующая проблема заключалась в том, чтобы разобраться с URL, чтобы у меня не было URL / blog / blog / post / 1.Чтобы исправить это, я изменил ссылку html-действия на
@Html.ActionLink(item.PostTitle, "Post", New With {.id = item.PostId}, Nothing)
, а затем внес изменения в global.asax - измените маршрут по умолчанию на (просто удалите {controller}:
routes.MapRoute( _
"Default", _
"{action}/{id}", _
New With {.controller = "Blog", .action = "Index", .id = UrlParameter.Optional}, New String() {"RiderDesignMvcBlog.Core.Controllers"})
Так что теперь вместо блога / блога / индекса или блога / блога / поста / 1 я получаю правильный чистый URL без дубликата блога в URL - блог / пост / 1