He estado usando T4MVC (FYI: v2.6.62) durante bastante tiempo, y he estado cambiando lentamente nuestro código a esta forma de trabajar (menos dependencia de magic strings).Acción T4MVC fuertemente tipada/ActionLink
Pero he tenido que parar porque, por alguna razón, T4MVC no puede traducir objetos a las URL, y solo parece poder trabajar en tipos primitivos (int/cadena/etc).
Aquí es un ejemplo:
Ruta desglose:
/MyController/MyAction/{Number}/{SomeText}
Clase:
namespace MyNamespace
{
public class MyClass
{
public int Number { get; set; }
public string SomeText { get; set; }
}
}
controlador:
public class MyController
{
public virtual ActionResult MyAction(MyClass myClass)
{
return View();
}
}
Vista:
<%= Html.Action(
T4MVC.MyController.Actions.MyAction(
new MyClass()
{
Number = 1,
SomeText = "ABC"
}
) %>
El resultado final es la siguiente:
/MyController/MyAction?myClass=MyNamespace.MyClass
y no
/MyController/MyAction/1/ABC
¿Alguien más tiene este problema? ¿Están disponibles las URL T4MVC como esta?
Pregunta también hecha en el ASP.NET Forum.
Hola David. Gracias por la respuesta. Supongo que, dadas las 5 votaciones ascendentes en el breve período transcurrido, significa que esta es probablemente una funcionalidad deseable. :-) –
Ok, lo pondré en la lista de TODO! :) –
¡Gracias! Me resultaría especialmente útil ya que he creado algunos ActionResults, como PermanentRedirectResult, que utilizan las acciones de estilo T4MVC, y este tipo de funcionalidad sería genial, ¡no solo para usar en vistas! –