В прошлом я использовал шаблоны-редакторы, применяя следующую аннотацию данных:
[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; }
}
Если бы я хотел использовать определенный элемент управления выбора даты, а не обычный, он может быть реализован следующим образом.
Пример:
@model DateTime?
@Html.TextBox("", String.Format("{0:yyyy-MM-dd}", Model.HasValue ?
Model : DateTime.Today), new { @class = "dp", style="width:100px" })
<script type="text/javascript">
$(document).ready(function () {
$(".dp").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'yy-mm-dd'
});
});
</script>
Для моего идентификатораполя, я хотел бы использовать компонент автозаполнения jQuery.
Вопрос:
Как мне передать дополнительные параметры частичному представлению UIHint
для LabSampleTypeID
и LabSampleDetailID
? (Как я хотел бы иметь автозаполненный редактор-шаблон, который будет брать URL и имена свойств, например)
Что я думаю, мой автозаполненный редактор-шаблон/ Частичное должно выглядеть так:
$(".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]
}
}));
}
})
}
});