すべて、私はあなたの助けを再び利用することができました. 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"
フォームを送信しようとすると、「このオブジェクトにパラメーターなしのコンストラクターが定義されていません」というサーバー エラーが発生します。ヘルプ?