programing

Url.Action 파라미터?

newnotes 2023. 4. 20. 22:40
반응형

Url.Action 파라미터?

가지고 있는 컨트롤러 목록에는

 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 코드에 문제가 있습니다...존이라는 이름의 기록을 뽑아볼 수는 있지만contact="calgary, vancouver", Web 페이지가 에러가 됩니다.

의 2개의 파라미터를 호출하려면 어떻게 해야 합니까?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&amp;contact=calgary%2C%20vancouver">
    <span>People</span>
</a>

를 정상적으로 호출합니다.GetByList컨트롤러 액션이 다음 2개의 파라미터를 전달합니다.

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 유틸리티를 사용하여 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&param3=ViewBag.P3'>Print</a>

ASP에서도 다음 작업을 수행할 수 있습니다.넷 MVC

<a href="@Url.Action("GetByList", "Listing",new {area = "Admin"})'
+ @Model.Id + '?name ="John"&contact ="calgary, vancouver"'+'"'>
    <span>People</span>
</a>

언급URL : https://stackoverflow.com/questions/6278694/url-action-parameters

반응형