【问题标题】:Return RedirectToAction with return Url使用返回 URL 返回 RedirectToAction
【发布时间】:2014-02-06 10:15:11
【问题描述】:

我正在使用 html.beginform 保存表单,并在将数据保存到数据库后返回 RedirectToAction("Index")。我的问题是这样的。重定向到同一页面后,会带入Url ::

http://localhost:2291/Mycontroller/Index 这是不正确的。其实我想保持它的状态,因为这个网址原来是

http://localhost:2291/Mycontroller/Index?ID=135

实际上,当我单击网格中的编辑按钮时,它会转到此控制器并使用 url::

打开此页面
http://localhost:2291/Mycontroller/Index?ID=135

保存数据后,由于文件上传控制,我正在使用 Html.Beginform,在重定向到操作时,它重定向到新的索引页 http://localhost:2291/Mycontroller/Index 不正确,应该是 ::

http://localhost:2291/Mycontroller/Index?ID=135

因为我目前在此页面中并正在更新记录。

如何实现这一点。我正在使用 MVc 4.0

【问题讨论】:

  • 你试过不重定向而是只返回视图:return View();
  • 其实并没有考虑那么多......它正在做回发,id会被删除。您应该考虑使用 AJAX 发送数据,而不使用表单。那么您的页面将不会“重定向”。
  • 其实我的保存方法是localhost:2291/Mycontroller/SaveReferralDetails in Html.BeginForm 所以,如果我使用returnview,它会返回这个url
  • 我不能使用 Ajax,因为有一个文件上传控件
  • 尝试这样 - return RedirectToAction("Index", new { id = YourIdVariable });,然后它会重定向到 Url - /MyController/Index/222

标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4


【解决方案1】:

在 RedirectToAction 中将您的 id 值作为参数传递,例如:

return RedirectToAction("Index", new { ID = 135 });

这将生成 URL

http://localhost:2291/Mycontroller/Index?ID=135

根据需要。

【讨论】:

    猜你喜欢
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    相关资源
    最近更新 更多