0

これで車軸に巻き付けられました。フォーム内にいくつかのボタンがあります

@using (Html.BeginForm("Edit", "RunLogEntry", FormMethod.Post, new { enctype = "multipart/form-data" }))
{

<input id="create" class="art-button" type="submit" value="Save" />
<input id="create" class="art-button" type="submit" value="Cancel" />    
}

私がやりたいのは、ユーザーがキャンセルボタンをクリックしたときに、開始フォームとは異なる別のアクションメソッドを押す必要があることです。フォームの外にキャンセルボタンを配置することもできますが、その物理的な配置はフォームの他のコントロールの近くに配置する必要があるため、オプションではありません。または、送信タイプの代わりにリンクボタンを使用する必要がありますか?これについての考えをいただければ幸いです。

4

2 に答える 2

4

'cancel'にデータをPOSTする必要がない場合は、Html.ActionLinkメソッドでリンクボタンを使用します。次に例を示します。

@Html.ActionLink("Link Text", "MyAction", "MyController")

javascriptを使用して、フォームのアクションを変更することもできます。

document.myform.action ="/MyController/MyAction";

...もちろん、これにはキャンセルボタンのクリックイベントをjavascriptで処理する必要があります

于 2012-06-15T18:28:50.870 に答える
1

musefanが言ったように、あなたはそれをリンクにすることができます

ボタンを保持したい場合は、このボタンのjQueryで汚れる必要があります。

最初の修正は、「キャンセル」ボタンのIDを「作成」ではなく「キャンセル」のようなものに変更することです(すべての要素に一意のIDが必要です)。

<input id="cancel" class="art-button" type="submit" value="Cancel" />  

次に、別のクリックイベントを[キャンセル]ボタンにバインドして、別のアクションを呼び出す必要があります。

$("#cancel").click(function(e) {
    e.preventDefault(); //Keep form from posting
    window.location.href = "REDIRECT URL";

    //If I want to post
    $.post("URL", data { ... });
});
于 2012-06-15T18:33:11.347 に答える