我在将正确的数据传递给局部 View 时遇到问题,我不确定失败的原因。
假设我有模型
public class SubModel {
public string Wobble {get; set;}
}
public class MyModel {
public SubModel Wibble {get; set;}
}
和观点
MyView.cshtml
@model MyModel
@Html.Partial("SomePartial", Model.Wibble)
和
SomePartial.cshtml
@model SubModel
<h1>Victory!</h1>
这失败了,传入字典的模型项是“MyModel”类型,但是这个字典需要一个“MySubModel”类型的模型项
当我将 MyView.cshtml
更改为
@model MyModel
@Html.Partial("SomePartial", Model.Wibble, new ViewDataDictionary<MySubModel>(Model.Wibble))
它按预期工作。
为什么我需要显式传递一个 ViewDataDictionary
?为什么我不能只传递模型?
注意:我正在使用一个库来做一些让我去 hrm 的事情?很多时候。如果上述行为不是预期的,则可能是此库错误。
最佳答案
当您传递给分部 View 的模型为 null
时,就会发生这种情况。不要将 null 传递给分部 View ,否则它会对其类型感到困惑。
关于c# - 将模型属性传递给局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22986743/