MVC。将 TextBoxFor 绑定到类型对象的 Field
MVC. Bind TextBoxFor to a Field of type object
假设如下代码:
public class Person
{
public object Age { get; set;}
}
内部视图:
@Html.TextBoxFor(x => x.Age, new { @type = "number" })
现在发布表单时,typeOf person.Age
属性 是 string[1]
。为什么?
绑定东西时不应该有一些基于输入类型的Type
拾取逻辑吗?
您不能将 *For
助手与 object
类型的 属性 一起使用。这些助手需要进行类型推断,以便创建具有正确名称和属性的正确类型的输入。 object
字面上可以是 任何东西.
我不确定您为什么要使用 object
作为 属性,例如 Age
(这不是很明显的 int
吗?)。但是,如果您确实需要这样做,我建议您使用视图模型,您可以在其中为视图定义更具体的类型。然后,您可以简单地将发布的值映射回您的 object
属性.
假设如下代码:
public class Person
{
public object Age { get; set;}
}
内部视图:
@Html.TextBoxFor(x => x.Age, new { @type = "number" })
现在发布表单时,typeOf person.Age
属性 是 string[1]
。为什么?
绑定东西时不应该有一些基于输入类型的Type
拾取逻辑吗?
您不能将 *For
助手与 object
类型的 属性 一起使用。这些助手需要进行类型推断,以便创建具有正确名称和属性的正确类型的输入。 object
字面上可以是 任何东西.
我不确定您为什么要使用 object
作为 属性,例如 Age
(这不是很明显的 int
吗?)。但是,如果您确实需要这样做,我建议您使用视图模型,您可以在其中为视图定义更具体的类型。然后,您可以简单地将发布的值映射回您的 object
属性.