컨트롤러를 나열하면
public ActionResult GetByList(string name, string contact)
{
var NameCollection = Service.GetByName(name);
var ContactCollection = Service.GetByContact(contact);
return View(new ListViewModel(NameCollection ,ContactCollection));
}
ASPX 페이지에서 호출합니다.
<a href="<%:Url.Action("GetByList","Listing" , new {name= "John"} , new {contact="calgary, vancouver"})%>"><span>People</span></a>
ASPX 코드에 문제가 있습니다 … john이라는 이름의 레코드를 가져올 수 있습니다. 그러나 contact="calgary, vancouver"
내가을 주면 웹 페이지가 오류가 발생합니다.
.NET Framework에서 두 개의 매개 변수를 어떻게 호출 할 수 있습니까 Url.Action
? 나는 아래를 시도했지만 그것도 잘못된 것 같습니다.
<a href="<%:Url.Action("GetByList","Listing" , new {name= "John" , contact= " calgary, vancouver" })%>"><span>People</span></a>
답변
다음은 올바른 오버로드입니다 (예 }
에서는 routeValues
익명 개체에 대한 닫기가 누락 되어 코드에서 예외가 발생 함).
<a href="<%: Url.Action("GetByList", "Listing", new { name = "John", contact = "calgary, vancouver" }) %>">
<span>People</span>
</a>
기본 경로를 사용한다고 가정하면 다음과 같은 마크 업이 생성됩니다.
<a href="/Listing/GetByList?name=John&contact=calgary%2C%20vancouver">
<span>People</span>
</a>
GetByList
두 매개 변수를 전달하는 컨트롤러 작업을 성공적으로 호출합니다 .
public ActionResult GetByList(string name, string contact)
{
...
}
답변
이것은 MVC 5에서 작동합니다.
<a href="@Url.Action("ActionName", "ControllerName", new { paramName1 = item.paramValue1, paramName2 = item.paramValue2 })" >
Link text
</a>
답변
설명서에서 ParseQueryString 유틸리티를 사용하여 NameValueCollection이라고되어있는 경우에도 HttpValueCollection이라는 개인 컬렉션을 반환 할 수 있습니다. 그런 다음 키를 수동으로 추가하면 HttpValueCollection이 인코딩을 수행합니다. 그런 다음 QueryString을 수동으로 추가하십시오.
var qs = HttpUtility.ParseQueryString("");
qs.Add("name", "John")
qs.Add("contact", "calgary");
qs.Add("contact", "vancouver")
<a href="<%: Url.Action("GetByList", "Listing")%>?<%:qs%>">
<span>People</span>
</a>
답변
여기에 또 다른 간단한 방법이 있습니다.
<a class="nav-link"
href='@Url.Action("Print1", "DeviceCertificates", new { Area = "Diagnostics"})\@Model.ID'>Print</a>
@Model.ID
매개 변수는 어디에 있습니까?
그리고 여기에 두 번째 예가 있습니다.
<a class="nav-link"
href='@Url.Action("Print1", "DeviceCertificates", new { Area = "Diagnostics"})\@Model.ID?param2=ViewBag.P2¶m3=ViewBag.P3'>Print</a>