У меня есть в View - _Edit
котором живет News M/V/C
.
Я повторно использую переходное V/M
отверстие CategoryController
как:
return PartialView("/Views/News/_Edit.cshtml", model);
Как изнутри View - _Edit
я могу предупредить имя контроллера?
Когда я:
alert('@ViewContext. RouteData.Values["controller"].ToString()');
Значение: News
Однако URL-адрес:/Category/foobar
Есть ли способ заставить значение 'Category'
предупреждать? Спасибо
asp.net-mvc-3
Valamas
источник
источник
NewsController
?method
, загружающиеpartialview
и что ,controller
чтоmethod
существует в.Ответы:
Я изложил это в своем частичном представлении:
в той же ситуации, которую вы описываете, и он показывает контроллер, описанный в URL-адресе (Категория для вас, Продукт для меня), вместо фактического местоположения частичного представления.
Поэтому используйте вместо этого это предупреждение:
источник
@ViewContext.RouteData.Values["controller"]
HttpContext.Current
.Request
доступен напрямую.["action"]
работает, если вам нужно имя метода действия.Я так делаю, но, возможно, это только ASP.NET MVC 4
источник
Создайте базовый класс для всех контроллеров и поместите сюда атрибут name:
Ввиду
Пример контроллера
источник
Name
свойство?Другой способ получить текущее имя контроллера в представлении
источник
Просто используйте:
Это даст вам полное имя контроллера
источник
Вы все еще находитесь в контексте своего,
CategoryController
хотя загружаетеPartialView
файл из своейViews/News
папки.источник
Вы можете использовать любой из приведенных ниже кодов, чтобы получить имя контроллера.
Если вы используете MVC 3, вы можете использовать
источник