Tôi có một hình thức tìm kiếm với một tiêu chí tìm kiếm DateTime, cộng với một số tiêu chí khác:Tạo một ActionLink với một DateTime trong chuỗi truy vấn trong ASP.NET MVC
<form method="get" action="/app/search">
<input type="text" value="13/01/2010" name="BeginDate"/>
<input type="text" value="blah" name="SomeOtherCriterion"/>
<form>
Vì vậy, tôi có một bộ điều khiển Search với một mặc định Action (gọi nó là Index) và với tham số SearchCriteria.
public class SearchController
{
public ActionResult Index(SearchCriteria searchCriteria) {//blah }
}
public class SearchCriteria
{
public DateTime BeginDate {get; set;}
public string SomeOtherCriterion {get; set;}
}
Bây giờ nếu tôi muốn tạo một ActionLink, đi qua trong một giá trị SearchCriteria, như sau:
Html.ActionLink("Search", "Index", searchCriteria)
tôi nhận được tham số chuỗi truy vấn BeginDate ở định dạng Mỹ. Nhìn vào Google và poking xung quanh trong System.Web.Routing bằng cách sử dụng Reflector nó có vẻ là bởi vì nó sử dụng InvariantCulture, vì vậy không có gì tôi có thể làm gì về nó.
Có vẻ như không ai đã hỏi câu hỏi này trước đây nên tôi đoán tôi đang làm điều gì đó rất ngu ngốc .... Xin hãy giúp!
EDIT: Chuyển trong SearchCriteria đến ActionLink thay vì đối tượng ẩn danh để hiển thị lý do tại sao tôi không thể chỉ thực hiện tùy chỉnh ToString().
Không thực sự thiết thực đối với chúng tôi nhưng chắc chắn là giải pháp sáng tạo nhất vì vậy tôi sẽ chấp nhận nó. Cảm ơn Zoltan. – Gaz