2

ViewBag または ViewData コンポーネントを介してアクション名を指定することにより、ビューがプログラムで呼び出したアクションを実行したかったのですが、実行できませんでした。どうして!?

@using (Html.BeginForm(ViewData["SubmitType"], "Person"))
{...

これを実行すると、次のようになります。

説明: この要求を処理するために必要なリソースのコンパイル中にエラーが発生しました。次の特定のエラーの詳細を確認し、ソース コードを適切に変更してください。

コンパイラ エラー メッセージ: CS1928: 'System.Web.Mvc.HtmlHelper' には 'BeginForm' と最適な拡張メソッド オーバーロード 'System.Web.Mvc.Html.FormExtensions.BeginForm(System.Web.Mvc.HtmlHelper' の定義が含まれていません, string, string)' には無効な引数があります

ソース エラー:

11行目: 12行目: 13行目: @using (Html.BeginForm(ViewData["SubmitType"], "Person")) 14行目: { 15行目: @Html.ValidationSummary(true)

4

1 に答える 1

3

おっと!Viewdata と ViewBag が型文字列を保持しないことを忘れていたとは信じられません。戻り値をキャストする必要がありましたが、すべてうまくいきました!

@using (Html.BeginForm((string)ViewData["SubmitType"], "Person"))
{
于 2012-10-10T05:10:26.110 に答える