[英]ASP.NET MVC. How render a Partial with no model (like create view)
我想像這樣渲染部分:
@Html.Partial("_MyPartial")
但是我的部分確實需要一個類型化的對象,例如: MyPartial.cshtml :
@model MyApplication.Models.MyClass
(...)
但是我想在沒有初始化模型的情況下在我的視圖上呈現它,例如“創建”視圖。
創建視圖綁定到模型,但初始化為空。
我已經嘗試過的:
@Html.Partial("_MyPartial")
主視圖模型被傳遞給局部模型,它拋出一個不兼容的類型錯誤。
@Html.Partial("_MyPartial", null)
拋出同樣的錯誤。
@Html.Partial("_MyPartial", new MyClass())
使用默認值初始化視圖。 我不想要預初始化的視圖。
在“創建”視圖中,沒有模型傳遞給視圖,但視圖綁定到模型。 我想在“創建”視圖中呈現這個部分。 它不能綁定到初始化的模型實例。 它必須初始化為空。
事實上,這是不可能的,因為partial 從主視圖中獲取模型,如果沒有從自身獲取模型。
在這種情況下,您必須初始化調用部分,並且不僅將模型作為null
傳遞,而且必須清除上下文中的整個數據。
您已經編寫了在視圖中接受模型類型的代碼:
@model MyApplication.Models.MyClass
因此,您必須在視圖中傳遞模型。
如果您不想使用模型,請刪除接受模型的代碼
嘗試使用 html.renderaction 而不是像這樣執行 partial 並且不要為視圖聲明任何模型,如果它真的不首先使用模型?
哦,是的,在動作返回中返回一個部分視圖,不要忘記 @ 符號后的花括號,這很重要
當你想返回一個沒有模型的局部視圖時。 用這個。
@{ Html.RenderPartial("Your partial view") }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.