1
这有点奇怪(至少对我而言),所以要做好准备。我有一个简单的对象MVC Razor - 查询字符串影响TextBoxFor和Model属性的值
public class User
{
public FirstName { get; set; }
public LastName { get; set; }
}
而且一个很简单的观点:
@Model User
@{
Layout = null;
}
@Html.TextBoxFor(x => x.FirstName)
@Html.Raw(Model.FirstName)
和控制器:
public ActionResult(Guid id, string firstName = "")
{
// Look up user, return object
}
我传递模型有名字= “约翰” 和姓氏=“Doe”。当我导航到/ Users/{Id}时,文本框和Html.Raw值的值都是“John”。当我导航到/ Users/{Id}?firstName =时,文本框的值为空,并且Html.Raw输出的值为“John”。当我导航到/ Users/{Id}?firstName = Tom时,文本框的值是“Tom”,而Html.Raw的值是“John”。
我已经调试了控制器和视图。进入视图的模型具有正确的属性。我的问题:
这是怎么发生的?我从来没见过这一点,并不能与其他类型的对象,次数等
我使用.NET 4.5和MVC 3