我可以根据条件加载自定义模板吗?
例如..
如果我正在为机械师预订,那么编辑表格会显示carmodel,yearmake等的文本框。
如果我正在预订地毯清洁剂,编辑表格会显示文本框,包括房间,房间大小等。
我是否能够传递服务的ID并显示正确服务的特定编辑器表单?
如果我们创建不同的调度程序视图,那么我们当前可以显示此功能,但这会创建许多页面的重复。
答案 0 :(得分:1)
我遇到了完全相同的问题,经过长时间搜索并结合我发现的内容后,我来到了这个问题:
1)在我的调度程序之上我有一个kendodropdownlist
<input id="reservationPicker" />
<script>
$("#reservationPicker").kendoDropDownList({
dataTextField: "name",
dataValueField: "reservationDefTypeId",
dataSource: reservationPickerDataSource
});
</script>
2)我的事件有一个额外的字段reservationDef,它将保存下拉列表的信息。
3)我可以在我的模板中使用这些信息
<script id="editorScheduler" type="text/x-kendo-template">
<center>
<div id="main">
#if(reservationDef=="mechanic"){#
<h3>Mechanic stuff</h3>
#}else if(reservationDef=="carpetCleaner"){#
<h3>Carpet Cleaner stuff</h3>
#}else{#
<h3>unknown type of reservation !</h3>
#: reservationDef #
#}#
</div>
</center>
</script>
4)我在调度程序中使用此模板
editable: {
template: $("#editorScheduler").html()
},
5)但是有了新的约会!我使用调度程序的add事件,并在事件中填写此信息
add: function (e) {
var reservationTypes = $("#reservationPicker").data("kendoDropDownList");
var selectedReservationType = reservationTypes.dataItem();
e.event.reservationDef = selectedReservationType.appointmentTitle;
},
这对我有用。祝你好运!
答案 1 :(得分:0)
不,我没有,但我确实通过在下一页上动态添加文本框找到了解决方法。能够在运行时为调度程序选择视图模型似乎不可能
如果有人知道如何在运行时使用mvc加载特定的视图模型,那么对于未来的想法和开发来说非常有意义。