Я использую T4MVC (к вашему сведению: v2.6.62) в течение достаточно долгого времени, и я постепенно переводим наш код на этот способ работы (меньше зависимости от магических строк ).
Но мне пришлось остановиться, потому что по какой-то причине T4MVC не может переводить объекты в URL-адреса и, похоже, может работать только с примитивными типами (int/string/etc).
Вот пример:
Разбивка маршрута:
/MyController/MyAction/{Number}/{SomeText}
Класс:
namespace MyNamespace
{
public class MyClass
{
public int Number { get; set; }
public string SomeText { get; set; }
}
}
Контроллер:
public class MyController
{
public virtual ActionResult MyAction(MyClass myClass)
{
return View();
}
}
Просмотр:
<%= Html.Action(
T4MVC.MyController.Actions.MyAction(
new MyClass()
{
Number = 1,
SomeText = "ABC"
}
) %>
Конечный результат таков:
/MyController/MyAction?myClass=MyNamespace.MyClass
и не
/MyController/MyAction/1/ABC
Кто-нибудь еще сталкивался с этой проблемой? Доступны ли такие URL-адреса T4MVC?
Вопрос также задан на форуме ASP.NET.