いくつかの異なる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