実行前にいくつかの条件をチェックする必要のある異なるコントローラにアクションがあります。条件が満たされていない場合は、次の手順(ユーザーが従わなければならないリンクが指示に含まれます)で別のページにユーザーをリダイレクトする必要があります。ASP.NET MVC - 一部のデータを渡してコントローラ/アクションにリダイレクトする
public ActionResult SendMessage()
{
// check if user has enough credit
if (!hasEnoughCredit(currentUser))
{
// redirect to another page that says:
// "You do not have enough credit. Please go to LinkToAddCreditAction
// to add more credit."
}
// do the send message stuff here
}
私はShowRequirements(と呼ばれる単一の一般的なアクションを持つようにしたい)の要件コントローラにあります:例のSendMessage()アクションは、メッセージコントローラに位置しているために
。
SendMessage()アクションでは、ユーザーに表示するメッセージを設定してから、ユーザーをShowRequirements()アクションに転送したいと思います。 ShowRequirementsアクションのURLにメッセージが表示されないようにするだけです。
このデータをShowRequirements()アクションに伝達する方法はありますか?
これはおそらく最良の解決策ですが、あなたのビジネス・ロジックを再考することがありますように聞こえます。何らかのプロセスが発生するために、リダイレクトを介して接続された2つの分離したアクションを一緒に行う必要があるのはなぜですか?おそらく、あなたはいくつかのコードを抽象化する必要がありますか? –
正しい。リダイレクトなしでエラーを表示するのに必要なビュー(ViewData/ViewModel)を返すことができます。 –
Andrew、私はこれらの条件をチェックしてそれに応じて他の方法を考えることはできません。どのように同じシナリオをやっていくのですか? – xraminx