0

すべて、私はあなたの助けを再び利用することができました. Operations現在、HTML ヘルパーを使用して、モデルをコントローラーのメソッドに渡す from を作成しようとしていTaskEditます。

[HttpPost]
public ActionResult TaskEdit(TaskViewModel viewModel, bool? embedded)
{
    // code
}

ビューでは、次の Razor コードを使用してフォームを生成しようとしています。

@using (Html.BeginForm("TaskEdit", "Operations", new { embedded = true, viewModel = Model }, FormMethod.Post, new { @class = "form-horizontal"  }))
{
    // form code
}

これは実際にはモデルのインスタンスを提供しませんでした.クラスを静的クラスであるかのように返すだけでした. そこで、代わりに次のことを試しました。

@using (Html.BeginForm("TaskEdit", "Operations", new { embedded = true, id = Model.TaskId }, FormMethod.Post, new { @class = "form-horizontal"  }))
{
    // form code
}

そして、次のフォームが作成されました(これは私を混乱させました):

<form action="/<sitename>/Operations/TaskEdit/0?embedded=True" class="form-horizontal" method="post"> <!-- Form code --> </form>

フォーム アクションが の行に沿ったものになると想定しただ​​けでなく、"/<sitename>/Operations/TaskEdit?id=0&embedded=True"フォームを送信しようとすると、「このオブジェクトにパラメーターなしのコンストラクターが定義されていません」というサーバー エラーが発生します。ヘルプ?

4

1 に答える 1