Я пытаюсь сделать следующее: фильтровать информацию из местоположений списка в зависимости от того, что пользователь входит в ниспадающий список городов. Я последовал шаг за шагом этот сайт ниже (но в моем случае его только один выпадающего меню и один ListBox, а не три):Listbox MVC Cascading error
Simple Implementation of Cascading Dropbox
Мой код:
Я создал ActionResult в моем контроллер.
[HttpPost] public ActionResult SelectMunicipio(int? selectedMUNICIPIO, SINCO_LOCALIDADE_CONCESSAO sinco_localidade_concessao, SINCO_CONCESSAO sinco_concessao) { ViewBag.IDMUNICIPIO = new SelectList(db.MUNICIPIOS_VIEW, "ID_MUNICIPIO", "NOME_MUNICIPIO", sinco_concessao.IDMUNICIPIO); ViewBag.IDLOCALIDADE = new SelectList(db.LOCALIDADES_VIEW, "ID_LOCALIDADE", "NOME_LOCALIDADE", sinco_localidade_concessao.IDLOCALIDADE); if (selectedMUNICIPIO.HasValue) { ViewBag.IDLOCALIDADE = (from s in db.LOCALIDADES_VIEW where s.ID_MUNICIPIO == selectedMUNICIPIO orderby s.NOME_LOCALIDADE select s); } return PartialView("LocalidadesList", sinco_concessao); }
Я создал 2 частичный вид: MunicipiosList и LocalidadesList.
<b><script type="text/javascript"> $(function() {$("#selectedMUNICIPIO").change(function(){ $(this).parents('form').submit(); });});
<b><div class="editor-label"> <%: Html.LabelFor(model => model.IDMUNICIPIO) %> </div> <div class="editor-field"> <% using (Ajax.BeginForm("SelectMunicipio", "ConcessaoController", new AjaxOptions { UpdateTargetId = "Localidades"})) { %><%: Html.DropDownList("IDMUNICIPIO", String.Empty) %></div><b>
--and--
<b><div class="editor-label" style="font-weight: bold">
Localidades:
</div>
<div class="editor-field">
<%: Html.ListBox("IDLOCALIDADE", null, new { id = "IDLOCALIDADE", size = "10" })%></div><b>
Вызов частичный вид.
<%: Html.Partial("MunicipioList", Model)%> </div>
<%: Html.Partial("LocalidadesList", Model)%> </div><b>
Добавить JQuery-1.5.1.min.js и jquery.unobtrusive-ajax.min.js к индексу.
Добавлен в web.config:
<appSettings> <add key="webpages:Enabled" value="false" /> <add key="ClientValidationEnabled" value="true"/> <add key="UnobtrusiveJavaScriptEnabled" value="true"/> </appSettings>
Извините за неправильный формат здесь, я никогда не использовал StackOverflow.
Что происходит, так это то, что мой код не идентифицируется при изменении индекса dropdownlist, и из-за этого он ничего не делает. Кто-нибудь знает, что может быть неправильным?