asp.net-mvc - asp mvc : specifying a view name does not change the url

标签 asp.net-mvc asp.net-mvc-2 asp.net-mvc-routing

我的HttpPost Controller 中有一个create Action 。在该操作内,我将记录插入db中,然后返回一个指定其他操作名的 View ,因为我想将用户带到其他地方,例如转到他们刚刚创建的记录的详细信息 View ,然后传入当前模型,因此我不必重新加载他们刚刚输入的数据。不幸的是,地址栏中的URL仍显示原始的create操作。

[HttpPost]
public ActionResult Create(MyModel model)
{
    //Insert record
    ...
    //Go to details view, pass the current model
    //instead of re-loading from database
    return View("Details", model);
}

如何获取显示“http://myapp/MyController/Details/1”而不是“http://myapp/MyController/Create/1”的网址?是否可以,或者我必须进行重定向?我希望我可以避免重定向...

最佳答案

我认为您想使用RedirectToAction()而不是View()。看一下以下问题:How to RedirectToAction in ASP.NET MVC without losing request data

关于asp.net-mvc - asp mvc : specifying a view name does not change the url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1993301/

相关文章:

asp.net-mvc - RequestContext - RouteData 不包含操作

asp.net-mvc - 您可以使用 RedirectToAction 传递模型吗?

asp.net-core - 如何添加带有日期时间参数的操作?

asp.net-mvc - 如何在其中配置与主键的多对多关系

c# - 每隔几秒更新一次 MVC 2 View

jquery - 我可以将viewbag值传递给mvc2中的jQuery吗

asp.net - 在对 ASP.NET MVC Action 的 AJAX 请求期间出现网络请求超时时会发生什么

c# - ASP.NET MVC 页面发布后速度很慢

asp.net-mvc - Entity Framework 6.0 代码优先迁移到 Azure SQL DB 不起作用。

c# - 如何发出 GET 请求并将结果解析到列表