问题:在MVC3下拉菜单中添加更多课程的优雅程度
我正在使用一个单独的屏幕,但理想情况下希望将它全部放在同一个屏幕上,可能使用ajax和jquery。
答案 0 :(得分:0)
我最后只为我的'孩子'项目添加了另一个提交按钮,并在第二个答案中调用它:
How do you handle multiple submit buttons in ASP.NET MVC Framework?
答案 1 :(得分:0)
我发现更好的解决方案是使用jquery.ui自动完成功能。然后,您可以轻松添加课程。我在类似的场景中使用它之前非常成功。您还可以获得可以为大型列表调用ajax的优势。
以下是一些示例jquery代码,它根据用户在文本框中键入的内容从服务器获取列表(routeList是将显示课程列表的框,routeId是一个隐藏字段,其中包含所选的id路线):
$("#routeList").autocomplete({
source: function (request, response) {
$("#ajax_loader").show(); //Gets the whirly graphic going
$("#routeId").val("0");
var postData = { term: request.term };
var jqxhr = $.post("/Ajax/RouteAutoComplete", $.postify(postData), function (data) {
$("#ajax_loader").hide();
response(data);
});
}
,
minLength: 1,
select: function (event, ui) {
$("#routeId").val(ui.item ? ui.item.id : "0");
}
});
当您回发时,如果routeId = 0,那么您可以根据routeList中的文本添加新课程