我有以下代码:
<a href="@Url.Action("Approve", new {id = item.Id})">Approve</a>
这将调用我的控制器中的 Action 方法更新记录的审批状态,然后:
return RedirectToAction("Index");
正如预期的那样,页面始终刷新到顶部。有没有办法将滚动位置保持在我单击超链接的位置。我检查过类似的帖子,但我看到的帖子指的是表格。最终我将使用 JQuery/Ajax。但是,目前我想看看是否有一个简单的方法可以像HTML属性一样使用。
非常感谢。
哈希表示法命名锚标记并在href
中引用该名称:
<a href="@Url.Action("Approve", new { id = item.Id })" id="@( item.Id )" name="@( item.Id )">Approve</a>
然后在您的操作方法中:
string redirectUrl =
string.Format(
"{0}#{1}",
Url.Action("Index"),
id);
return new RedirectResult(redirectUrl);
只要确保你的id
是 HTML id
值(在 HTML5 中,几乎任何东西都可以是有效的id
,但是规则适用于早期 HTML 版本的ids
命名)。 如有疑问,请在 HTML 中使用之前添加"aid-"(批准 ID)等前缀。
否则,就像您已经确定的那样,最好的办法是使用 AJAX 调用进行批准。 这样,您就可以准确地停留在页面上的位置。