gpt4 book ai didi

asp.net-mvc - 单个 Controller 的 MVC 多个 View

转载 作者:行者123 更新时间:2023-12-04 05:26:52 26 4
gpt4 key购买 nike

是否可以在 MVC 中使用单个 Controller “ListController”执行以下操作来处理以下页面...

www.example.com/List/Cars/ForSale/{id} optional

www.example.com/List/Cars/ForRent/{id} optional

www.example.com/List/Search/

www.example.com/List/Boats/ForSale/{id} optional

www.example.com/List/Boats/ForRent/{id} optional

www.example.com/List/Boats/Search/



如果没有,除了将 CarsController 和 BoatsController 分开之外,还有什么办法可以绕过它?他们将使用相同的逻辑,只是希望 URL 不同。

最佳答案

你绝对可以做到这一点。使用路由很简单。您可以将不同的 url 路由到 Controller 中的不同操作。

以下是定义上述某些 url 的示例:

routes.MapRoute("CarSale"
"/List/Cars/ForSale/{id}",
new { controller = "list", action = "carsale", id = UrlParameter.Optional } );

routes.MapRoute("ListSearch"
"/List/search",
new { controller = "list", action = "search"} );


routes.MapRoute("BoatSale"
"/List/Boats/ForSale/{id}",
new { controller = "list", action = "boatsale", id = UrlParameter.Optional } );

然后在您的 Controller 中,您将拥有每个操作方法:
public ListController 
{
// ... other stuff

public ActionResult CarSale(int? id)
{
// do stuff

return View("CarView");
}

public ActionResult BoatSale(int? id)
{
// do stuff

return View("BoatView");
}

// ... other stuff
}

关于asp.net-mvc - 单个 Controller 的 MVC 多个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4866455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com