将路由值传递给View from Action

时间:2014-06-05 08:54:14

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

下面是我的动作代码,它接收一个参数(int id)。

public virtual ActionResult Index(int id)
{
    // Logic
    return View("List", id);
}

我的网址类似于:Home/List/1

我知道我可以返回查看("列表")但不知道如何使用它来识别广告,请帮助我。

4 个答案:

答案 0 :(得分:6)

您可以使用Controller.RedirectToAction Method

之类的内容
return RedirectToAction("List", new { Id = id});

答案 1 :(得分:0)

在您的控制器逻辑中,您很可能希望获取id参数来获取某些数据/进行一些处理,然后将模型返回到您的视图中。

请查看this link以获取有关MVC的一些精彩教程。

如果您只想将路径中的ID传递给视图,您可以使用ViewBag或让View接受一个int模型,然后您可以将其传递给

return View("List", id);

答案 2 :(得分:0)

return RedirectToAction("List", new { id =  Id }) 

答案 3 :(得分:0)

如果您使用此类路线

    //products
routes.MapLocalizedRoute("Product","s/{storeid}/{storename}/p/{productId}/{SeName}",
    new { controller = "Catalog", action = "Product", SeName = UrlParameter.Optional },
    new { productId = @"\d+", storeId = @"\d+" }, 
    new[] { "Nop.Web.Controllers" });

然后我们可以这样使用。

return RedirectToRoute("Product",new { storeid=123, storename="name",productId=23,SeName="something"});