2009-10-10 22 views
0

我是新來的asp.net mvc,我偶然發現了一個項目,其中包括一個實際的模型類作爲一個行動方法的參數。它看起來像這樣:我怎樣才能使一個行動方法的參數是一個模型類

public ActionResult Index(PersonFormViewModel person) 
{ 
    id = person.Id; ...etc.. 
} 

任何人都可以指點我如何在我自己的項目中實現這樣的東西的樣品?

在此先感謝

回答

1

在你看來,只要前綴對應模型的屬性與模型的參數名稱的輸入。對於具有簡單屬性的模型,這應該是可行的。如果您的模型具有複雜的屬性(子模型),您可能需要開發自定義模型綁定器。如果你有陣列,那麼你需要在視圖方面做一些額外的格式化(參見Phil Haack's blog)。

<%= Html.Hidden("Person.Id") %> 
<%= Html.TextBox("Person.FirstName") %> 
<%= Html.TextBox("Person.LastName") %> 
1

它實際上是很容易做到,你對你的表單元素的名字和你的模型對象只需要排隊爲汽車粘合劑工作,也可以實現或指定自定義粘結劑。 Scott Gu在預覽版5發佈時首次在他的博客上寫道。

http://weblogs.asp.net/scottgu/archive/2008/10/16/asp-net-mvc-beta-released.aspx

http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx

另一個很好的例子:

http://www.bradygaster.com/post/ASPNET-MVC-Model-Binding-Example.aspx

相關問題