这里是我如何做它在Asp.Net核心,首先查询字符串参数分配给你的控制器ViewBags:
[HttpGet("/[controller]/[action]/{categoryId?}/{contractTypeId?}/{locationId?}")]
public IActionResult Index(Guid categoryId, int contractTypeId, Guid locationId)
{
ViewBag.CategoryId = categoryId;
ViewBag.ContractTypeId = contractTypeId;
ViewBag.LocationId = locationId;
...
}
然后值传递给你的链接,像这样:
<a asp-action="Index" asp-controller="Jobs"
asp-route-categoryId="@teachingCategory.Id"
asp-route-contractTypeId="@ViewBag.ContractTypeId"
asp-route-locationId="@ViewBag.LocationId">
@teachingCategory.Description (@teachingCategory.Rank)
</a>
<a asp-action="Index" asp-controller="Jobs"
asp-route-categoryId="@ViewBag.CategoryId"
asp-route-contractTypeId="@typeOfEmployment.Id"
asp-route-locationId="@ViewBag.LocationId">
@typeOfEmployment.Name
</a>
<a asp-action="Index" asp-controller="Jobs"
asp-route-categoryId="@ViewBag.CategoryId"
asp-route-contractTypeId="@ViewBag.ContractTypeId"
asp-route-locationId="@item.Id">
@item.Id
</a>
请注意,每个链接都保留其自己的实际值,并通过我们传递给ViewBag的其他路由值。
这是我想了一会儿,但想保持在查询字符串中。 – dtc 2009-05-20 23:08:12
你想在查询字符串中离开&sort = newest&items = 50&showcomments = 1&search = abcd的一个很好的理由是,人们可以为搜索添加书签。是否有任何理由不希望人们直接编辑querysting中的&search =值并“查看会发生什么”? – 2013-01-30 00:40:52