【发布时间】:2018-10-13 11:37:42
【问题描述】:
我有一个带有“详细信息”操作和“编辑”操作的控制器。
我使用View(); 导航到Edit,然后呈现带有部分视图的页面。
在局部视图中有一个表格:
@using (Html.BeginForm("CreateOrEdit", "Licenses", FormMethod.Post, new { @class = "pure-form pure-form-aligned", id = "change", onsubmit = "process(this);" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="floatLeft width100per">
@Html.HiddenFor(model => model.Id)
@Html.HiddenFor(model => model.CustomerId)
<button onclick="goBack()" type="button" class="pure-button pure-button-primary newButton">Back</button>
<input type="submit" value="Save" class="pure-button pure-button-primary newButton marginRight10" onclick="getModules(); setGuid('@Guid.NewGuid()');" />
<div class="floatLeft pure-form">
goBack() 函数:
function goBack() {
history.go(-1);
}
如果我导航到 编辑 并按后退按钮,一切都很好。 但是,如果我按下 Save 按钮,就会提交表单并调用 CreateAndEdit 操作 - 仍然可以。
CreateAndEdit 动作使用:
RedirectToAction("Details", new { id = license.Id });
为了再次导航到详细信息页面。
然后,如果我再次进入“编辑”,然后按返回 - CreateAndEdit 操作再次被调用 - 不行!
当按下 Back 时,我怎样才能在不调用 CreateAndEdit 的情况下始终返回“详细信息”页面。
【问题讨论】:
-
定义为锚点 (
<a) 以转到定义的 url 路由而不是回复浏览器历史记录。 -
@ldanLevi 您可以尝试使用 Can't call function using ajax 上显示的 Ajax 调用,并告诉我它是否适合您。
-
@MuratYıldız 它可以工作,但它与返回不一样..
标签: c# asp.net asp.net-mvc razor back-button