我在看HaHaa presentation on ASP.NET MVC from MIX,他們提到了使用郵政模型,我猜他們說你可以使用僅用於張貼的模型。我試圖尋找這方面的例子。我不明白他們在說什麼嗎?有沒有人有一個例子,說明在視圖模型和後期模型不是同一類型的強類型視圖中,這可能如何工作?ASP.NET MVC後期模型的示例?
回答
下面是ScottGu的例子擴展了一下。正如@SLaks解釋的那樣,當收到POST時,MVC將嘗試創建一個新的MyPostName對象,並將其屬性與from字段進行匹配。它還將使用匹配和驗證的結果更新ModelState屬性。
當動作返回視圖時,它也必須爲它提供一個模型。但是,該視圖不必使用相同的模型。事實上,視圖可以使用包含擴展數據的不同模型進行強類型化,例如,它可以將導航屬性綁定到數據庫表中的外鍵;如果是這種情況,則從POST模型映射到視圖模型的邏輯將包含在POST操作中。
public class MyGetModel
{
string FullName;
List<MyGetModel> SuggestedFriends;
}
public class MyPostModel
{
string FirstName;
string LastName;
}
//GET: /Customer/Create
public ActionResult Create()
{
MyGetModel myName = new MyGetModel();
myName.FullName = "John Doe"; // Or fetch it from the DB
myName.SuggestedFriends = new List<MyGetModel>; // For example - from people select name where name != myName.FullName
Model = myName;
return View();
}
//POST: /Customer/Create
[HttpPost]
public ActionResult Create(MyPostModel newName)
{
MyGetModel name = new MyGetModel();
name.FullName = newName.FirstName + "" + newName.LastName; // Or validate and update the DB
return View("Create", name);
}
Whats'ActionModel'? – Omar 2010-03-26 07:14:55
我的錯誤,應該是ActionResult。 – 2010-03-26 09:16:32
好的,現在有道理。除非通過框架嘗試將輸入映射到Action的參數中列出的模型的屬性,否則操作無需知道發佈給它們的任何類型。 – 2010-03-26 12:41:19
POST模型僅用於將數據傳遞到您的操作方法。
POST操作發送到其視圖的模型不需要與它接收到的模型相關(通常不會)。
類似地,初始GET動作(顯示錶單首先)傳遞給其視圖(提交給POST動作)的模型不需要與POST動作需要的模型相關(儘管它通常會是相同的型號)
只要它的屬性與您的輸入參數相匹配,您可以使用您想要的任何模型作爲POST操作的參數。
- 1. Asp.Net MVC EditorTemplate模型後
- 2. ASP.NET MVC模型
- 3. ASP.NET MVC模型
- 4. 複雜ASP.net MVC模型的示例在哪裏?
- 5. ASP.NET MVC SiteMap示例
- 6. asp.net mvc Bundle.IncludeDirectory示例?
- 7. ASP.NET MVC日期模型綁定
- 8. SaaS模型的ASP.NET示例網站?
- 9. 簡單的ASP.NET MVC示例
- 10. ASP.NET MVC 4模型後爲空
- 11. ASP.NET MVC 3模型
- 12. ASP.NET MVC模型Mixins?
- 13. ASP.NET MVC - IDisposable模型
- 14. ASP.NET MVC模型錯誤繼續顯示
- 15. MVC:查看模型交互示例
- 16. 模型的ASP.NET MVC表格
- 17. asp.net的MVC模型綁定
- 18. ASP.NET MVC - 模型的WCF類
- 19. ASP.NET MVC和後期驗證?
- 20. MVC模型驗證日期
- 21. asp.net mvc的模型數據anotation mvc
- 22. ASP.NET MVC:從模型內更新模型?
- 23. asp.net MVC模型項的類型是List
- 24. ASP.Net MVC模型問題
- 25. ASP.NET MVC模型狀態
- 26. ASP.NET MVC 3模型驗證
- 27. 模型爲Html.BeginForm()ASP.NET MVC
- 28. ASP.Net MVC支持Editor.For(模型)
- 29. ASP.NET MVC模型綁定
- 30. 模型綁定ASP.NET MVC
@TimAbell鏈接固定。 – 2016-06-21 20:41:08