MVC。将TextBoxFor绑定到object类型的Field

时间:2015-05-14 16:35:10

标签: asp.net asp.net-mvc model-binding

假设以下代码:

public class Person 
{
    public object Age { get; set;}
}

内幕:

@Html.TextBoxFor(x => x.Age, new { @type = "number" })

现在发布表单时,typeOf person.Age属性为string[1]。为什么呢?

在绑定内容时,是否应该有一些基于输入类型的Type提取逻辑?

1 个答案:

答案 0 :(得分:2)

您不能将*For助手与object类型的属性一起使用。这些帮助程序需要进行类型推断,以便使用正确的名称和属性创建正确的输入类型。 object字面上可以任何

我不确定您为什么要将object用于Age这样的属性(不是很明显是int?)。但是,如果您确实需要这样做,我建议您使用视图模型,您可以在其中为视图定义更具体的类型。然后,您只需将发布的值映射回object属性。