繁体   English   中英

ASP.NET 核心 MVC 重定向,带有新的 url 参数

[英]ASP.NET Core MVC redirect with new url parameter

// Home/Index/asd-qwe 
public async Task<IActionResult> Index(string id)
{
    // id=asd-qwe
    var response = await _service.GetPost(id);

    // I want to redirect /Home/Index/response.RedirectObject.Path
    //  /Home/Index/new-asd-qwe-123 with object (response.Item)
    if (response.RedirectObject != null)
    {
        return View(response.Item); // with new url parameter /Home/Index/new-asd-qwe-123
    }

    // else return view with object         
    return View(response.Item);
}

/Home/Index/asd-qwe -> /Home/Index/new-asd-qwe-123 # 带有响应项

是否可以这样做,而无需再次调用Index操作?

您可以尝试以下方法。 但要小心重定向循环。

// Home/Index/asd-qwe 
public async Task<IActionResult> Index(string id)
{
    // id=asd-qwe
    var response = await _service.GetPost(id);

    // I want to redirect /Home/Index/response.RedirectObject.Path
    //  /Home/Index/new-asd-qwe-123 with object (response.Item)
    if (response.RedirectObject != null)
    {
        return RedirectToAction(nameof(Index), new { id = response.RedirectObj.Path }); // with new url parameter /Home/Index/new-asd-qwe-123
    }

    // else return view with object         
    return View(response.Item);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM