2016-09-13 4 views
0

Я хотел бы вынести частичными так:ASP.NET MVC. Как отрендерить частичный, без модели (например, создать вид)

@Html.Partial("_MyPartial") 

Однако мой частичный действительно нужен типизированный объект, например: MyPartial.cshtml:

@model MyApplication.Models.MyClass 
(...) 

Но я хотел бы сделать это на мой взгляд БЕЗ Инициализированной модели, например, «Создать».

Создание представлений привязано к модели, но инициализировано пустым.

Я уже пробовал:

@Html.Partial("_MyPartial") Основного вид модель передается частичным и бросает несовместимые типы ошибок.

@Html.Partial("_MyPartial", null) бросает ту же ошибку.

@Html.Partial("_MyPartial", new MyClass()) инициализирует представление по умолчанию. Я не хочу предварительно инициализированное представление.

В представлении «Создать» модель не передается в представление, но представление привязано к модели. Я хотел бы сделать это частичным в представлении «создать». Он не должен быть привязан к инициализированному экземпляру модели. Он должен быть инициализирован пустым.

+0

«Я не хочу предварительно инициализированный вид» - что именно вы подразумеваете под этим? Если вы хотите что-то другое, кроме того, что поставляется конструктором по умолчанию, используйте инициализатор объекта. –

+1

Он не хочет использовать значения по умолчанию в поле ввода, такие как '0', для ввода для свойства' int' его модели, аналогично 'return View();' vs 'return View (model);' в Создайте действие контроллера. – Jecoms

+1

Похоже, вы ошибаетесь в использовании шаблона mvc. У вас есть прецедент? У вас может быть базовый вид без модели и подкласса оттуда, однако вы не можете иметь представление, привязанное к модели, а затем ничего не пропускать. –

ответ

-1

Попробуйте использовать html.renderaction вместо того, чтобы делать частичное like this и не объявлять какую-либо модель для представления, если она действительно не использует ее в первую очередь?

Ах да вернуть PartialView в возвращении действия и не забывайте фигурные скобки после знака @, это имеет значение

1

Вы уже писать код, чтобы принять тип модели в представлении:

@model MyApplication.Models.MyClass 

Так что это является обязательным, что вы должны пройти модель в поле зрения.

Если вы не хочешь использовать модель затем удалить код, принять модель

+0

ваш комментарий не относится к представлениям «Создать», когда модель не передается в представление, но представление привязано к модели. Я хотел бы сделать это частичным в представлении «создать». Он не должен быть привязан к инициализированному экземпляру модели. Он должен быть инициализирован пустым. –

-1

Если вы хотите, чтобы вернуть PartialView без какой-либо модели. Использовать это.

@{ Html.RenderPartial("Your partial view") } 
+0

Пожалуйста, отредактируйте с дополнительной информацией. Только код и «попробуйте» ответы не приветствуются, поскольку они не содержат содержимого, доступного для поиска, и не объясняют, почему кто-то должен «попробовать это». – abarisone

+0

Не работает –

+0

Любая ошибка или просто не работает bro? – Kramer

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