返回的ActionResult當我有兩個ASP.NET MVC操作:ASP.NET MVC查看問題從不同的動作
public ActionResult GetAll()
{
return GetOne(1);
}
public ActionResult GetOne(Int32 id)
{
return View(id);
}
正如你所看到的,GETALL呼籲行動GetOne。但是,當調用GetAll()時(調用GetOne(id)並且應該返回GetOne視圖),MVC會拋出一個錯誤,指出沒有GetAll視圖。咦?
我如何讓GetAll調用GetOne並使用GetOne的視圖(我認爲這是合乎邏輯的事情發生的開始)?
@Craig,感謝您的回答! 您認爲在其他操作中調用操作是否正常嗎?在我看來,一項行動應該獨立於另一項行動。這樣他們可以很容易地被測試和使用。 – azamsharp 2009-09-16 20:39:44
重要的是不惜一切代價避免重複代碼。不過,有很多方法可以做到這一點。你可以有兩個調用共享函數的「獨立」動作去獲得一個模型,例如,在這種情況下,似乎很清楚應該使用相同的觀點。因此,視圖必須明確指定,或者可以使用某種類型的共享視圖(如MVC 2默認模板視圖)。換句話說,這取決於你在做什麼。 – 2009-09-16 20:53:35