你好,
您遇到的问题涉及 HTML5 和 ASP.NET 中的不同行为方式。使用 HTML5 和 Modal 时,页面内容会通过异步请求进行更新。这允许您部分刷新页面内容,而不会导致整个页面重新加载或滚动。
当您转换为 ASP.NET 代码时,尤其是在使用 asp-controller 和 asp-action 属性时,您可能不再使用异步请求。ASP.NET MVC 的这些属性通常用于生成指向服务器端操作的链接。当用户单击此类链接时,默认行为是向服务器发送一个全新的请求并加载一个全新的页面。这就是页面闪烁并回滚到顶部的原因。
若要解决此问题,可以使用 1) AJAX 来处理这些链接的单击事件。这样,您可以请求必要的数据并仅更新页面的一部分,而不是整个页面。2) 使用可通过 AJAX 加载并插入到现有页面中的 ASP.NET MVC 分部视图。3) 使用 JavaScript 或 jQuery 阻止链接单击事件中的默认行为,然后手动处理该事件(例如通过 AJAX 调用)。
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。