【发布时间】:2020-06-15 21:47:10
【问题描述】:
应用程序中有四个下拉按钮。下拉列表中的选项是链接。其中之一的代码:
<li><a asp-controller="Aircrafts" asp-action="Compare"
asp-route-vehicle1="@item.Id">@item.Name</a></li>
@item.Id 它是 int 变量
控制器方法取值:
[HttpGet("compare/{vehicle1}/{vehicle2}/{vehicle3}/{vehicle4}")]
public IActionResult Compare(int vehicle1, int vehicle2, int vehicle3, int vehicle4)
{//код}
路由:。
endpoints.MapControllerRoute(
name: "FourParameters",
pattern: "controller=Aircrafts}/{action=Compare}/{vehicle1=0}/{vehicle2=0}/{vehicle3=0}/{vehicle4=0}");
任务:当用户点击下拉列表中的任何一个链接时,例如在第三个,需要这样创建一个地址:
飞机/比较/0/0/5/0
并且调用了控制器中的方法,如果他点击第四个,那么地址应该是:
飞机/比较/0/0/5/8等
但在我的实现中,控制器方法只有在点击第四个下拉菜单后才会被调用。这是个问题。
【问题讨论】:
-
查询字符串看起来比路径变量更适合这个。
标签: asp.net asp.net-core model-view-controller