tengo el siguiente código en mi opinión:Cómo URL parámetros codificar en ASP .NET MVC
<%= Html.ActionLink(
"View item",
"Index",
"Items",
new
{
itemName = Model.ItemName
},
null) %>
Tengo un problema cuando el nombre del elemento contiene un sostenido (#) o el símbolo de porcentaje (%) .
Cuando el nombre del artículo es
"name#with#sharp#"
, el controlador recibe sólo la primera parte del nombre hasta que la primera agudo (sólo recibe"name"
).Cuando el nombre del artículo es
"name%with%percent"
me aparece un error: HTTP error 400 - Solicitud incorrecta.
No estoy seguro si esto es un problema con la codificación URL, ya que funciona con otros caracteres conflictivos como:
;
=
+
,
~
[blank]
¿Sabe usted cómo podría yo hacer frente a este problema?
Gracias de antemano.
¿Qué URL se están generando? Cuando pruebo el ejemplo anterior con los símbolos '%', obtengo esto: 'http: // localhost/AspNetMvc2/Items? ItemName = name% 25with% 25percent', y no hay errores. Además, el ejemplo con el símbolo '#' produce esto: 'http: // localhost: 55386/Items? ItemName = name% 23with% 23sharp% 23' –