Я довольно долго использовал T4MVC (FYI: v2.6.62), и я медленно двигался по нашему коду таким образом работы (меньше полагался на magic strings).Сильно типизированный T4MVC Action/ActionLink
Но мне пришлось остановиться, потому что по какой-то причине 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 Forum.
Hi David. Спасибо за ответ. Я предполагаю, что, учитывая 5 upvotes в короткий период, это было означало, что это, вероятно, желаемая функциональность. :-) –
Хорошо, я положу его в список TODO! :) –
Спасибо! Я бы счел это особенно полезным, так как я создал несколько ActionResults, таких как PermanentRedirectResult, которые используют действия стиля T4MVC, и такая функциональность будет отличной, а не только для использования в представлениях! –