2012-08-07 2 views
0

я не уверен, если заголовок вопрос действительно объясняет, что я хочу сделать, но я объясню ниже:Добавление представления в MVC, который не принадлежит к контроллеру

Я использую Visual Studio MVC шаблон проекта, и я изменил некоторые вкладки, чтобы отобразить различные действия с разных контроллеров. Однако я хочу, чтобы одна из вкладок открыла представление, в котором снова будут ссылки для разных действий администрирования.

Проблема заключается в том, что я не уверен, где разместить это представление, поскольку оно действительно не принадлежит контроллеру администратора, поскольку каждая вкладка в этом представлении будет ссылаться на представление списка в другом контроллере. Фактически это представление sub_Layout, так как оно не имеет ничего общего с контроллером.

Надеюсь, я сделал себе достаточно ясно!

ответ

1

Этот вид можно разместить в общей папке, так как он будет использоваться несколькими контроллерами. Или, вы можете разместить его где-нибудь еще и ссылаться на него, используя полный путь к этому View/частичным видом

В контроллере

public ActionResult SomeAction(){ 
    return View("~/Path/To/View/ViewName.cshtml"); 
} 

В View (Razor)

@Html.RenderPartial("~/Path/To/View/ViewName.cshtml"); 

С учетом сказанного, общая папка имеет наибольший смысл, поскольку она будет использоваться для нескольких контроллеров.

+0

Хорошо, но как бы получить доступ к нему, поскольку я хочу, чтобы он показывал, когда пользователь нажимает на одну из этих вкладок в представлении _Layout? В настоящее время я использовал ActionLinks, например '@ Html.ActionLink (« Контракты »,« Список »,« Контракт », новый {user = User.Identity.Name, page = 1}, null)', которые, очевидно, не являются правильный путь в этом случае. – XN16

+0

Вы спрашиваете, как иметь более одного макета (главной страницы)? – Tommy

+0

Извините, я думаю, вы на самом деле уже ответили на мой вопрос, я устал прошлой ночью, но теперь это имеет смысл! Я просто не знал, как открыть доступ к представлению, но добавление метода 'SomeAction()' к моему контроллеру Hone будет работать так, как я хочу. Благодарю. – XN16

Смежные вопросы