#asp.net #asp.net-mvc-5
#asp.net #asp.net-mvc-5
Вопрос:
Я сменил свой контроллер с homecontroller
на ProfileController
. Теперь мое представление ничего не показывает, но когда я изменил его обратно с Profilecontroller
на homecontroller
, оно снова работает нормально.
Я также изменил:
@using(Html.BeginForm("index", "homeController", FormMethod.Post, new { enctype = "multipart/form-data" }))
Для:
@using(Html.BeginForm("index", "ProfileController", FormMethod.Post, new { enctype = "multipart/form-data" }))
Ответ №1:
Если вы явно не укажете представление в действии контроллера, то MVC использует соглашение для поиска представления /Views/<ControllerName>/<ActionName>.cshtml
:
/Views/Profile/Index.cshtml
В вашем случае вам также придется переименовать папку Home
в Profile
.
Дополнительная информация из документации:
— https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/adding-a-controller
— https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/adding-a-view
Комментарии:
1. Спасибо, чтобы помочь мне в этом случае, дорогой, я не менял имя папки, я изменил только имя контроллера в объектах Controller Online_ShoppingEntities = new Online_ShoppingEntities(); entities. Компании. Добавить(новую КОМПАНИЮ { Image = fileName, path = filePath }); объекты. SaveChanges(); //Перенаправить на действие индексирования. верните RedirectToAction(«index»); чтобы я изменил
2. @AbdulJabbar Да. В этом проблема. Где находится ваш Index.cshtml? Я думаю, в
/Views/Home/Index.cshtml
=> так что, если вы переименуетеHome
вProfile
, MVC сможет снова найти ваше представление.3. В просмотр папки / Главная/
4. @AbdulJabbar Вы должны переименовать папку. Новая структура должна быть
View/Profile/Index.cshtml
.5. Нет, дорогой, я не переименовывал папку