簡體   English   中英

ASP.NET MVC。 如何在沒有模型的情況下渲染局部(如創建視圖)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM