tag route net for example data asp all asp.net html asp.net-mvc-2 url.action

asp.net - route - href url action razor



Parámetros de acción Url.? (2)

La siguiente es la sobrecarga correcta (en su ejemplo, falta un cierre } al objeto anónimo routeValues para que su código routeValues una excepción):

<a href="<%: Url.Action("GetByList", "Listing", new { name = "John", contact = "calgary, vancouver" }) %>"> <span>People</span> </a>

Suponiendo que está utilizando las rutas predeterminadas, esto debería generar el siguiente marcado:

<a href="/Listing/GetByList?name=John&amp;contact=calgary%2C%20vancouver"> <span>People</span> </a>

que invocará exitosamente la acción del controlador GetByList pasando los dos parámetros:

public ActionResult GetByList(string name, string contact) { ... }

Al listar el controlador que tengo,

public ActionResult GetByList(string name, string contact) { var NameCollection = Service.GetByName(name); var ContactCollection = Service.GetByContact(contact); return View(new ListViewModel(NameCollection ,ContactCollection)); }

En la página ASPX llamo,

<a href="<%:Url.Action("GetByList","Listing" , new {name= "John"} , new {contact="calgary, vancouver"})%>"><span>People</span></a>

Tengo un problema en el código ASPX ... Puedo extraer los registros del nombre John. pero cuando doy el contacto = "calgary, vancouver", la página web da error.

¿Cómo puedo llamar dos parámetros en Url.Action? Intenté el siguiente, pero eso también parece estar mal.

<a href="<%:Url.Action("GetByList","Listing" , new {name= "John" , contact= " calgary, vancouver" })%>"><span>People</span></a>


puede devolver una colección privada llamada HttpValueCollection, incluso la documentación dice que es una NameValueCollection utilizando la utilidad ParseQueryString. A continuación, agregue las claves manualmente, HttpValueCollection realiza la codificación por usted. Y luego solo agregue QueryString manualmente:

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>