假设以下代码:
public class Person
{
public object Age { get; set;}
}
内幕:
@Html.TextBoxFor(x => x.Age, new { @type = "number" })
现在发布表单时,typeOf person.Age
属性为string[1]
。为什么呢?
在绑定内容时,是否应该有一些基于输入类型的Type
提取逻辑?
答案 0 :(得分:2)
您不能将*For
助手与object
类型的属性一起使用。这些帮助程序需要进行类型推断,以便使用正确的名称和属性创建正确的输入类型。 object
字面上可以任何。
我不确定您为什么要将object
用于Age
这样的属性(不是很明显是int
?)。但是,如果您确实需要这样做,我建议您使用视图模型,您可以在其中为视图定义更具体的类型。然后,您只需将发布的值映射回object
属性。