(First StackOverflow post + MVC6 noob)
使用Asp.Net 5 MVC 6 rc-1
我希望我的Controller成功创建POST操作以重定向到同一控制器中的Edit GET操作。控制器位于区域内。当我使用RedirectToAction方法调用以下代码时,生成的url总是有一个查询字符串参数" ../编辑?id = 3"而不是RestFul路径。 " ../编辑/ 3&#34 ;.我尝试了一个特定的路线图定义,但没有区别。有没有办法创建RestFul" ../ Edit / 3"路线? 谢谢。
.. routes.MapRoute(name:" Edit", 模板:" {area} / {controller} / Edit / {id}"); 并没有什么区别..
示例代码:
在Startup.cs中:
..
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
..
app.UseMvcWithDefaultRoute();
..
}
..
控制器类:
[Area("Administration")]
[Route("[area]/[controller]/")]
public class PersonController : Controller
{
..
[HttpGet]
[Route("Edit/{Id:int}")]
public IActionResult Edit(int id)
{
..
[HttpPost]
[Route("[action]")]
public IActionResult Create(PersonViewModel viewModel)
{
..
return RedirectToAction("Edit", new { id = newPersonId});
}
..