2013-04-10 60 views
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

回答