22

で編集アクションがありHtml.BeginFormます。HTML属性を追加するにはどうすればよいですか?

私は1つの方法しか知りません:

@using (Html.BeginForm("Edit", "Clients", FormMethod.Post, new { @class="example"})) {

}

しかし、この方法を使用すると、現在のIDを渡すことができません

アクションURLを変更せずにフォームにHTML属性を追加することは可能ですか?

4

4 に答える 4

38

必要なオーバーライドは次のとおりです。

@using( Html.BeginForm("Edit", "Clients", new { Id=Model.Id},
                       FormMethod.Post, new { @class = "example" } ) )
{
}
  • 「id」のようなルート値は、3番目のパラメーターとして渡されます。
  • 「クラス」などのHTML属性は、5番目のパラメーターとして渡されます。

MSDNのドキュメントを参照してください。

于 2012-10-25T15:00:20.873 に答える
18

デフォルトのアクションを使用するには、ActionパラメーターとControllerパラメーターをnullにすることもできます。

Html.BeginForm( null, null, FormMethod.Post, new { id=”formname”, @class="formclass" })
于 2018-03-03T20:49:44.817 に答える
2

ControllerAからActionLinkを介して呼び出す

@using (Html.BeginForm("Create",
    "StudentPChoice",
    new { StudentPChoiceId = Model.StudentPChoiceId },
    FormMethod.Post))
{

}

また

@using (Html.BeginForm("Create",
    "ControllerB",
    new { ControllerBId = Model.ControllerAId },
    FormMethod.Post))
{

}
于 2012-12-22T05:56:20.907 に答える
0

これが一部の人に役立つかもしれない場合、これは私にとってはうまくいきます:

@using (Html.BeginForm("RefreshData", "Home", FormMethod.Post, 
        new { Id = "timerangeId", @name = "timerange" }))
    {
        // form elements and input
    }

Javascriptの場合:

document.getElementById("timerangeId").submit();
于 2019-02-10T17:33:22.940 に答える