我想從幾個不同的URL調用MainController.GetData()操作,而不需要一堆複製/粘貼的代碼。人們是否有一種首選的方式來解決這個問題?似乎我也可以用路由來完成它。我只想重用視圖和操作,因爲如果我爲GetMyData()操作創建了一個版本,那麼所有代碼都是相同的。如何與其他控制器共享控制器操作/視圖
**Example urls**
*/main/getdata
/other/getmydata
/diffferent/getothersdata?userid=3
public ActionResult MainController::GetData()
{
var data = GetData();
return View(collection);
}
public ActionResult OtherController::GetMyData()
{
var userId = GetCurrentUserId();
var data = GetData(userId);
return View("../main/getdata", collection);
}
我喜歡基本控制器的想法。我認爲它會保持代碼清潔,我將能夠重用操作代碼和視圖。除非提供其他更清潔的解決方案,否則我會接受這個。謝謝! – user3953989