フォーム提出とは異なるアクションであるASP.NET MVCビューで計算を行う必要があります。現在のモデルをActionLink経由で新しいコントローラアクションに渡すさまざまな方法を試しましたが、モデルは渡されていないようです。ASP.NET MVCでセカンダリアクション(フィールドの計算)を実行するにはどうすればよいですか?
public ActionResult Calculate(MuralProject proj)
{
ProjectFormRepository db = new ProjectFormRepository();
List<Constant> constants = db.GetConstantsByFormType(FormTypeEnum.Murals);
proj.Materials = new MuralMaterials();
proj.Materials.Volunteers = this.GetVolunteerCount(constants, proj);
this.InitializeView();
return View("View", proj);
}
私のHtml.ActionLinkの構文は(計算された変化と)同じモデルデータを持っている私はこれを呼び出し、返すビューを持つようにするためにあることには何が必要でしょうか?あるいは、これを達成する別の方法がありますか?
は、私はまた、Ajax.ActionLink方法を試してみましたが、私は同じ問題
編集に走った:「名前あなたの送信ボタン付けし、お使いのコントローラメソッドで送信された値を検査」方法hereされるよう私が探していたもの
このようなことをしなければならないのであれば、「懸念の分離」の議論に何があったとしても、これはうっかりですか?マイクロソフト社のマーケティングレトリック!私はこれがフレームワークがそのような共通のシナリオに備えることができる最高のものであることに落ち込んでいます –
あなたは明確に分かれていないと思いますか?魔法の文字列が気になる場合は、魔法の文字列の比較に頼らないように、ボタンのキャプションと値を含む静的クラスまたは外部リソースファイルを設定するのは簡単です。 –
データを適切なアクションにどのように渡しますか? – rsteckly