Я довольно долго использовал T4MVC (FYI: 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.