我们有一个 ViewModel 集合Widget<dynamic>
:
public class Widget<T>
{
public string ViewName { get; set; }
public T Data { get; set; }
}
在我们的视图中,我们循环遍历小部件的集合并调用Html.Partial
.
@foreach (var widget in Model) {
@Html.Partial(widget.ViewName, widget)
}
如果部分具有动态模型或Widget<dynamic>
.
但是,我想在局部视图中进行智能感知,所以我给我的视图一个适当的小部件数据类型的模型,例如:
@model Widget<string>
不幸的是,这会引发异常,因为@Html.Partial
将动态模型转换为 System.Object。
除了在部分中再次手动转换小部件之外,有没有一种方法可以在Html.Partial
不将动态模型转换为对象的情况下进行调用?