我有一个名为object
myobject
的项目的模型:
public class myModel
{
public long id {get;set;}
public object myobject {get;set;}
}
在我的视图中,我使用EditorFor
使用模板编辑myobject
:
@model myModel
// form (code omitted)
@Html.EditorFor(model => model.myobject)
<button type="submit">Save</button>
这是模板:
@model myObject
@Html.EditorFor(model => model.myname)
如何在控制器中获取myModel.myobject
值?
我试过施法,但是我得到了这个错误:
无法将“System.Object”类型的对象强制转换为“MyProject.Models.myobject”。
答案 0 :(得分:1)
模型中的属性属于object
:
public object myobject { get; set; }
您的EditorTemplate属于myObject
类型 - 不属于object
类型:
@model myObject <-- This little thing is responsible telling MVC what editor template to use with which type.
@Html.EditorFor(model => model.myname)
这就是为什么你没有得到你正在寻找的实现。
作为替代方案,您可以使用命名的 EditorTemplate,而不是让MVC根据类型推断出您想要的模板。