2016-09-13 81 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

他不想在輸入框中輸入默認值,例如在他的模型的int屬性的輸入中輸入'0',類似於'return View();'vs'return View(model);'in a創建控制器操作。 – 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

任何錯誤或只是沒有工作兄弟? – Kramer

相關問題