2010-04-21 11 views
25

Tengo algunos ActionLinks que cuando se procesan reciben una clave de longitud/valor agregado que aparece para indicar el número de caracteres del nombre del controlador. ¿Cómo se puede eliminar esto?ASP.NET MVC - ¿Agregar querystring "length =" a ActionLinks?

+2

Duplicado, muchas, muchas veces: http://stackoverflow.com/search?q=[asp.net-mvc]+actionlink+length –

+0

gracias por el enlace – ScottG

Respuesta

41

Supongo que probablemente esté utilizando una sobrecarga incorrecta de Html.ActionLink y esté agregando parámetros de ruta en lugar de los atributos de HTML. Necesita agregar un NULL como el cuarto parámetro antes de especificar los atributos HTML. Algo como:

Html.ActionLink("Title", "Action", "Controller", null ,new { title = "Title"}) 

Publique su código si esto no funciona.

+0

Eso es todo. Estaba usando los parámetros de nomenclatura, pero aun así tuve que agregar routeValues: null para deshacerme de esta cadena de consulta. – arche89

3

necesita STICK un parámetro objeto vacío adicional en los htmlAttributes antes, algo como esto de la parte superior de mi cabeza

html.actionlink("a","b","c",new {},new {@class = "d"}) 
2

Compruebe para ver si el uso de la sobrecarga adecuado para Html.ActionLink.

Se vuelven complicados porque toman cualquier objeto, incluso los anónimos, y los transforman en diccionarios de valor de ruta o atributos html dependiendo de la sobrecarga que utilice. Ya que se ejecutará y compilará bien si se meten estas dos cosas, es difícil decir si estás usando la sobrecarga correcta.

1

Si estás pasando '' routeValues,

Asegúrese de que 'htmlAttributes' se establece en null. Se recogió

Html.ActionLink("Title", "Action", "Controller", new {}, null) 

sobrecarga Else equivocado de AcitonLink.

Cuestiones relacionadas