I've been using Editor-Templates in the past like this, by applying the following data annotation:
[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; }
}
If I wanted to use a specific date picker control as opposed to the regular one, it can be implemented as follows.
Example:
@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>
For my ID fields, I'd like to make use of the jQuery auto-complete component.
Question:
How would I go about passing additional parameters to the UIHint
partial view for LabSampleTypeID
and LabSampleDetailID
? (As Id like to have an auto-complete Editor-Template that'll take a URL and property names for example)
What I think my auto-complete Editor-Template/Partial should look like:
$(".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]
}
}));
}
})
}
});
question from:
https://stackoverflow.com/questions/9681107/asp-net-mvc-editor-templates-uihint-with-parameters 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…