Estoy usando telerik grid para mvc. Estoy usando el enlace ajax, el siguiente es el código

 colums.Bound(o => o.SomeNumber)
.Groupable(false)
.ClientTemplate(Html.ActionLink("<#=SomeNumber#>", "ActionResult", "ControllerName", new { docid = ViewContext.RouteData.Values["docid"], id = "<#=RequisitionID#>" }).ToString())
.Title("Some No.")
.Width(100);

Tengo una ruta definida como

routes.MapRoute(
              "strict",
              "{controller}.mvc/{docid}/{action}/{id}",
              new {docid = "",action = "Index", id = ""},
              new { docid = @"\d+"}

            );

Y espero que la URL sea como

<a href='ControllerName.mvc/docid/ActionResult/id'>SomeNumer</a>

Donde como la URL que se construye es como

<a id="32" href="/ControllerName.mvc/docid/ActionResult?Length=3" docid="160">SomeNumber</a>

No he podido entender por qué no se está construyendo de acuerdo con la ruta definida, he definido la ruta por encima de la ruta predeterminada si eso importa.

Por favor ayúdame a descubrir dónde me equivoqué

1
John x 8 may. 2012 a las 09:29

1 respuesta

La mejor respuesta

Parece que está utilizando la sobrecarga incorrecta de ActionLink y una ruta los valores se interpretan como atributos HTML.

Pruebe este en su lugar (tenga en cuenta el null como último parámetro)

Html.ActionLink(
    "<#=SomeNumber#>", //Link text
    "ActionResult", // Action name
    "ControllerName", //Controller name
    new { docid = "...", id = "..." }, //route values
    null //html attributes
)
1
nemesv 8 may. 2012 a las 10:02
Ojalá pudiera votarte 100 veces, tnx que lo solucionó, he caído en esta trampa nula un millón de veces durante el curso de mi prj actual, pero no puedo verlo cada vez ... tnx de nuevo
 – 
John x
8 may. 2012 a las 10:10