コントローラのアクションが2回実行されています。 Fiddlerは2つの要求と応答を示し、最初のものは「セッションがクライアント、Fiddler、またはServerによってアボートされた」ことを示すアイコンがあります。サブミット時にアクションが2回実行される
しかし、私はこれがどこで起こっているのか、それはなぜか分かりません。
@{ using (Html.BeginForm("ConfirmThing", "Thing", null, FormMethod.Get, new { id = "frmGo" }))
{
@Html.HiddenFor(model => model.ThingID)
<button id="btnGo">
Thing is a Go - Notify People</button>
}
}
btnGoためのJavascriptを次のようになります:
$("#btnGo").click(function() {
var form = $("#frmGo");
form.submit();
});
私はこのようになりますビューのセクション(ThingFinancials)を持っている:ここでは
は仕様ですアクションは、次のようになります。public ActionResult ConfirmThing(int thingID)
{
[do some database stuff]
[send some emails]
var financials = GetFinancials(thingID);
return View("ThingFinancials", financials);
}
珍しいことは、表示されるURLが[Website]/Thing/ThingFinancials/47
で始まり、提出後にURLが[Website]/Thing/ConfirmThing?ThingID=47
となることです。
(アクション名が表示名と一致しない理由を迷っている場合はThingFinancials上に複数のフォームタグがあるので、それはだ、と彼らはすべて同じアクション名を持つことができません。)
されていますその背後で起こっているServer.Transfer、またはそれのようなもの?
FormMethod.Get投稿をしないでください。 –
@BryanNaegele私はそれを両方の方法で試しました。この問題は両方とも解決されています。 –