ここで、私は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に渡したものを通すことに注意してください。
入力と推論に感謝します。あなたのメモは、まさに私がViewDataを渡すことを考えた理由です。 – dtc