C# asp操作后返回到同一视图

C# asp操作后返回到同一视图,c#,asp.net,asp.net-mvc,view,C#,Asp.net,Asp.net Mvc,View,这是一个MVC WebApp(也使用EF)。我的问题是在asp操作后返回到相同的视图 我显示一个用户列表(my.cshtml页面上的db记录)。在每个用户旁边,我都有一个重置密码超链接。单击超链接后,我使用EF重置用户密码。这是通过asp操作完成的 <a asp-action="ResetPassword" asp-route-userid="@item.userid">Reset Password</a> 重置密码 重置a

这是一个MVC WebApp(也使用EF)。我的问题是在asp操作后返回到相同的视图

我显示一个用户列表(my.cshtml页面上的db记录)。在每个用户旁边,我都有一个重置密码超链接。单击超链接后,我使用EF重置用户密码。这是通过asp操作完成的

  <a asp-action="ResetPassword" asp-route-userid="@item.userid">Reset Password</a>
重置密码
重置asp操作正在正常进行

但是在asp操作之后,我想返回到相同的视图(从最初单击“重置密码”超链接的位置)

我不需要刷新或重新启动视图。我在StackOverflow中找到了使用Ajax的例子,如果它是表单/提交按钮操作的话。在我的例子中,没有显示提交按钮动作、表单或其他视图


关于如何返回同一视图的任何建议?

在控制器重置密码方法中,您可以重定向到最初显示视图的操作。您的问题中没有列出您的控制器或视图名称,因此我将在这里进行一些猜测:

    public class UsersController : Controller
    {
        public ActionResult Index()
        {
            //get user data/setup model (or do it from the view via ajax)

            return View(model);
        }

        public ActionResult ResetPassword(int id)
        {
            //do reset password work

            //return redirect to the Index page that lists your user data
            return RedirectToAction("Index", "Users");
        }
    }

现在,虽然上述方法可以奏效,但如果通过ajax调用ResetPassword,用户将获得更好的体验(并降低对服务器/db的影响),因为不需要刷新整个页面。

谢谢。我试试看。您推荐的ajax示例有吗?如果您使用的是jquery,您可以看看这样的示例:该示例与您的场景非常相似,只是它不会在ajax调用中传递任何数据。另一个确实传递数据的例子是:这些应该让您知道要搜索什么才能让ajax调用正常工作。但是,您不需要转向ajax,这取决于您的需求,如果这只是一个不会一直使用的管理页面,那么采用更简单的方法(非ajax)可能会更好。非ajax方法实际上会刷新。我是怎么找到这个的?当我按下backbutton时,它不会返回,需要再单击一次back按钮。我认为Ajax方法(或局部视图)会阻止这种情况。