В прошлом я использовал Editor-Templates таким образом, применяя следующую аннотацию данных:
[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
? (Поскольку я хотел бы иметь автоматически заполняемый шаблон Editor-Template, который, например, будет принимать URL-адрес и имена свойств)
Как, по моему мнению, должен выглядеть мой автоматически заполняемый шаблон Editor-Template/Partial:
$(".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]
}
}));
}
})
}
});