나는 Url.Action
다음과 같은 GET 작업에 대한 링크를 만들려고 해요 :Url.Action에서이 값을 가져 오는 위치는 어디입니까?
public class FooController : Controller
{
[HttpGet]
[Route("Foo/Apply/BarDetails/Part/{id}")]
public IActionResult BarDetails(int id)
{
}
}
을 그리고 내보기에 나는
Url.Action("BarDetails", "Foo", new {id = 1})
와 URL을 만드는거야 그러나 이것은 URL Foo/Apply/BarDetails/Part/10?id=1
을 생성하는 확실히 내가 원하는 것이 아닙니다! values
매개 변수를 제거하면 URL의 쿼리 문자열 부분 만 제거됩니다. 내가 시작시 등록 된 유일한 경로는 내가 ASP.NET 코어 소스를 살펴 했어
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
내가 URL의 "10"부분은으로 어딘가에 "1" + "0"
작업에서 오는 것으로 의심 라우팅 코드가 2 개 이상으로 나뉘어지며 따라 가기가 어렵습니다. 누구든지이 URL의 마지막 부분이 생성되는 방법과 경로 값에 제공된 id
과 일치하도록 수정하는 방법을 알고 있습니까?
음, 아마도 [경로 (/ 라이센스/적용/세부 정보/부품/{id} ")]'? – juunas
네, 값으로'1'을 지정했을 때 경로의'id' 부분에서'10'은 어디에서 왔습니까? – Mourndark