c# - 从 [HttpPost] 到 [HttpGet] 内部的 RedirectToAction - 参数

标签 c# asp.net-mvc-3

代码如下:

[HttpGet]
public ActionResult Edit(string id="")
{
    // ...
}

[HttpPost]
public ActionResult Edit(string itemId="", EditViewModel viewModel)
{
    // ...

    RedirectToAction("Edit", new { id = itemId });
}

返回错误:“可选参数必须出现在所有必需参数之后”

我假设它正在尝试重定向到 [HttpPost] 操作。

如何重定向到 [HttpGet] 操作?

我正在尝试实现保存功能,它将保存编辑并使用新值重新加载表单。

最佳答案

错误信息很清楚...

...如果您知道可选参数是具有默认值的参数(在您的情况下为空字符串)

[HttpPost]
public ActionResult Edit(EditViewModel viewModel, string itemId="")
{
    // ...

    RedirectToAction("Edit", new { id = itemId });
}

大功告成

关于c# - 从 [HttpPost] 到 [HttpGet] 内部的 RedirectToAction - 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10567984/

相关文章:

asp.net-mvc - 遍历集合并在 Razor 中打印索引和项目

c# - 在 Microsoft.ServiceBus.Messaging.QueueClient(响应式(Reactive)扩展)上使用 RX

c# - UWP Canvas 绘图越界

asp.net-mvc-3 - 为什么_ViewStart.cshtml不能访问ViewBag对象?

.net - 可以将 ASP.NET MVC3 Controller (和 View ?)重新分发为类库 dll 吗?

c# - 如何修复我的 MVC3 路由

asp.net-mvc-3 - View 中的多个 ViewModel

c# - 如何使用 PCL 支持从 xamarin 跨平台项目中的 URL 下载文件

c# - 使用 C# 在复选框列表中选择单个项目

c# - 在 VS2008 中找不到 System.Web.Hosting