Asp.Net 5(MVC)RedirectToAction()如何制作RestFul路由

时间:2016-01-05 17:04:02

标签: asp.net-core

(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}); 
     }
..

0 个答案:

没有答案