コントローラの1つでは、すべてのビューに固定の前処理があります。以下のコードの代わりにこれを行うより良い方法がありますか?そのようなSomeFunctionAsync戻る前にその行を書くことなく動作しますのすべての機能のためのビュー()戻りますこのコントローラのビュー()?私はまた、いくつかのajax投稿機能を持っています。View ControllerのView関数に共通のコードを入れる場所は?
つまりpublic async Task<ActionResult> View1()
{
await SomeFunctionAsync();
return View();
}
public async Task<ActionResult> View2()
{
await SomeFunctionAsync();
return View();
}
に、最後に私は次のように書くことができるようにしたいと同じ効果
public async Task<ActionResult> View1()
{
return View();
}
public async Task<ActionResult> View2()
{
return View();
}
コントローラにはビューがありません。また、何を求めているのですか? 「共通コード」は、通常、メソッドに抽出してそのメソッドを呼び出すことを意味します。あなたはそのコードをどこに保管するか、またはその呼び出しを取り除く方法とその理由を尋ねていますか?たとえば、フィルタを作成することはできますが、これらは複雑さを増します。 –
私は呼び出しを取り除きたいです。現在のところ、その関数は私のコントローラ内の私的関数です。ビューを返すすべての関数はそれを呼び出す必要があります。 –
おそらく結果にビュー名を渡すことはできませんか?単一のアクションは、異なるビューを使用してレンダリングすることができます。あなたのメソッド 'View1'、' View2'を呼び出すのではなく、 'Create'や' return View( "View1") 'や' return View( "View2") ' –