Мое действие контроллера выполняется дважды.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
.
(Если вам интересно, почему имя действия не совпадает с именем представления, это потому, что в ThingFinancials есть несколько тегов формы, и они не могут иметь одно и то же имя действия.)
Есть ли за кадром передача Server.Terfer или что-то в этом роде?