如何加载级联下拉列表彼此asp.net mvc3?我能怎么做?我一直在使用 http://geekswithblogs.net/ranganh/archive/2011/06/14/cascading-dropdownlist-in-asp.net-mvc-3-using-jquery.aspx
但是我不能。我的错误是什么?我在 LoadJobByCustomerId 方法上添加了调试红点。但不工作。Pleqase 不要说让谷歌搜索我在 48 小时内完成......查看:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/ChildSite.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Index
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script type="text/javascript" src="../../Scripts/jquery-1.4.4.js">
$(document).ready(function () {
$("#ddlCustomers").change(function () {
var idColour = $(this).val();
$.getJSON("/Job/LoadJobByCustomerId", { customerId: idColour },
function (modelData) {
var select = $("#ddlJobs");
select.empty();
select.append($('<option/>', {
value: 0,
text: "Select a Colour"
}));
$.each(modelData, function (index, itemData) {
select.append($('<option/>', {
value: itemData.Value,
text: itemData.Text
}));
});
});
});
</script>
<%
using (Html.BeginForm())
{ %>
<table style="padding:25px; margin:10px 10px 10px 10px;" id="sample">
<tr><td>Customer Name: </td><td>
<%= Html.DropDownList("Customers", null, "** Please Select **", new { id="ddlCustomers"})%>
</td></tr>
<tr><td>Job Name:</td><td>
<%= Html.DropDownList("Jobs", null, "** Please Select **", new { id = "ddlJobs" })%>
</td></tr>
</table>
<br />
<div>
</div>
<%}%>
</asp:Content>
控制器:
public class JobController : Controller
{
public ActionResult Index()
{
ViewData["Customers"] = new SelectList(CustomerOperation.GetCustomers().Items, "Id", "Name", null);
ViewData["Jobs"] = new SelectList(JobOperation.GetCustomersAssemblyList().Items, "scheduleId", "name", null);
return View();
}
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult LoadJobByCustomerId(int customerId)
{
var jobs = JobOperation.GetCustomersAssemblyList(customerId).Items;
var jobItems = jobs.Select(c => new SelectListItem()
{
Text = c.name,
Value = c.scheduleId.ToString()
});
return Json(jobItems, JsonRequestBehavior.AllowGet);
}