Tôi đã sử dụng T4MVC (FYI: v2.6.62) trong một thời gian và tôi đã từ từ chuyển mã của mình sang cách làm việc này (ít phụ thuộc vào magic strings).Hành động/Hành động T4MVC được đánh máy mạnh
Nhưng tôi phải dừng vì, vì một số lý do, T4MVC không thể dịch các đối tượng thành url và chỉ có thể hoạt động trên các kiểu nguyên thủy (int/string/etc).
Dưới đây là một ví dụ:
Route cố:
/MyController/MyAction/{Number}/{SomeText}
Class:
namespace MyNamespace
{
public class MyClass
{
public int Number { get; set; }
public string SomeText { get; set; }
}
}
Bộ điều khiển:
public class MyController
{
public virtual ActionResult MyAction(MyClass myClass)
{
return View();
}
}
Xem:
<%= Html.Action(
T4MVC.MyController.Actions.MyAction(
new MyClass()
{
Number = 1,
SomeText = "ABC"
}
) %>
Kết quả cuối cùng là thế này:
/MyController/MyAction?myClass=MyNamespace.MyClass
và không
/MyController/MyAction/1/ABC
Có ai khác có vấn đề này? Các url T4MVC như thế này có sẵn không?
Câu hỏi cũng được hỏi tại số ASP.NET Forum.
Xin chào David. Cảm ơn vi đa trả lơi. Tôi đoán rằng, với 5 upvotes trong thời gian ngắn nó được lên có nghĩa là đây có lẽ là chức năng mong muốn. :-) –
Ok, tôi sẽ đưa nó vào danh sách TODO! :) –
Cảm ơn bạn! Tôi sẽ thấy nó đặc biệt hữu ích vì tôi đã tạo một vài ActionResults, chẳng hạn như PermanentRedirectResult, sử dụng các hành động kiểu T4MVC và loại chức năng này sẽ rất tuyệt, không chỉ cho việc sử dụng trong các khung nhìn! –