Tôi đã sử dụng biên tập Templates trong quá khứ như thế này, bằng cách áp dụng các chú thích dữ liệu sau:ASP.NET MVC biên tập Templates/UIHint với các thông số
[UIHint("SomeTemplate")]
ViewModel:
public class MicroViewModel
{
public IEnumerable<LabMicro> Micros { get; set; }
[UIHint("DateTime")]
public DateTime Date { get; set; }
public int CaseNo { get; set; }
[UIHint("SampleTypes")]
public int LabSampleTypeID { get; set; }
[UIHint("SampleDetails")]
public int LabSampleDetailID { get; set; }
}
Nếu tôi muốn sử dụng điều khiển bộ chọn ngày cụ thể thay vì điều khiển bộ chọn ngày thông thường, nó có thể được triển khai như sau.
Ví dụ:
Đối với các trường ID của tôi, tôi muốn tận dụng các thành phần tự động hoàn tất jQuery.
Câu hỏi:
Làm thế nào tôi sẽ đi về qua các tham số bổ sung cho quan điểm UIHint
một phần cho LabSampleTypeID
và LabSampleDetailID
? (Như Id muốn có một biên tập mẫu tự động hoàn tất mà sẽ đưa một URL và sở hữu tên ví dụ)
Những gì tôi nghĩ tự động hoàn tất biên tập Template của tôi/phần sẽ giống như thế:
$(".auto").autocomplete({
source: function(request, response) {
$.ajax({
url: '[#URL_TO_USE]',
dataType: "json",
data: {
filter: request.term
},
success: function(data) {
response($.map(eval(data), function(item) {
return {
label: item.[#PROPERTY_TO_USE]
}
}));
}
})
}
});
FYI, bạn không cần UIHint cho DateTime. It's * already * một DateTime, vì vậy nó sẽ sử dụng một mẫu DateTime.cshtml nếu nó tồn tại. Bạn cần nó cho những cái khác không cùng loại với tên mẫu. –