我有一个基本视图模型,其 Id 类型为 object 属性(因此我可以让它成为 int 或 Guid),如下所示:
public abstract class BaseViewModel
{
public virtual object Id { get; set; }
}
因此,视图模型由此派生
public class UserViewModel : BaseViewModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
然后我的 HTML 呈现为:
<input id="Id" name="Id" type="hidden" value="240" />
<input id="FirstName" name="FirstName" type="text" value="John" />
<input id="LastName " name="LastName " type="text" value="Smith" />
当提交给 MVC 动作时:
[HttpPost]
public ActionResult EditUser(UserViewModel model)
{
...code omitted...
}
模型属性的值为:
Id: string[0] = "240"
FirstName: string = "John"
LastName: string = "Smith"
我的问题是,为什么我得到一个单项字符串数组作为Id的值,而不仅仅是一个字符串?有没有办法改变这种行为?当我尝试将其解析为预期的类型时,它会导致问题。