Мое действие контроллера выполняется дважды. Fiddler показывает два запроса и ответы, а для первого - значок, который указывает: «Сессия была прервана клиентом, Fiddler или сервером».Действие выполняется дважды при отправке
Но я не могу понять, где это происходит, или почему.
Вот специфика:
У меня есть разрез зрения (ThingFinancials), который выглядит следующим образом:
@{ 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>
}
}
Код JavaScript для btnGo выглядит следующим образом:
$("#btnGo").click(function() {
var form = $("#frmGo");
form.submit();
});
Действие (снятое) выглядит так:
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
.
(Если вам интересно, почему название Действие не совпадает с именем View, это потому, что существует множество форм метки на ThingFinancials, и все они не могут иметь такое же имя действия.)
ли там Server.Transfer происходит за кулисами или что-то в этом роде?
Shoudn't your FormMethod.Показать публикацию? –
@BryanNaegele Я пробовал это в обоих направлениях. Проблема сохраняется с обоими из них. –