2
我在MVC項目的一個控制器中添加了「添加」方法。在普通的「GET」中,我想返回類型爲CaseEditModel
的Strongly-Typed對象,並且在POST動詞中,我希望視圖向控制器返回類型爲Case
的對象。那可能嗎?在POST和GET中使用兩種不同的控制器動作模型
我在MVC項目的一個控制器中添加了「添加」方法。在普通的「GET」中,我想返回類型爲CaseEditModel
的Strongly-Typed對象,並且在POST動詞中,我希望視圖向控制器返回類型爲Case
的對象。那可能嗎?在POST和GET中使用兩種不同的控制器動作模型
Request對象有請求類型屬性來做到這一點:
if (Request.RequestType == "GET")
{
// do CaseEditModel here
}
else if (Request.RequestType == "POST")
{
// do Case here
}
是,在得到您的添加操作可以返回CaseEditModel的看法和對某個帖子的論據添加操作可以是類型Case。在帖子上,模型聯編程序將嘗試並綁定到您爲參數放置的任何內容。
[HttpGet]
public ActionResult Add()
{
var caseEdit = new CaseEditModel();
return View(caseEditModel);
}
[HttpPost]
public ActionResult Add(Case caseIn)
{
}
這裏需要說明的是,你需要使用不同的意見,因爲每個視圖將除非你讓他們都來自一個共同的繼承父是強類型要麼'Case'或'CaseEditModel',但你將失去任何專門的屬性。 – 2011-03-21 02:09:47
不管模型綁定器是否嘗試綁定到caseIn,而不管它是什麼類型? – 2011-03-21 02:18:23
我的意思是aspx文件。如果您從'ViewPage'繼承,則需要指定'T'的類型。對於你想要'Case'的帖子,你需要'CaseEditModel'。 –
2011-03-21 02:20:56