这有点奇怪(至少对我来说),所以要做好准备。我有一个简单的对象
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 GetUserInfo(Guid id, string firstName = "")
{
User user;
/* ... lookup the user instance ... */
return View(user);
}
我传递的模型有 FirstName = "John" 和 LastName = "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。