2014-12-11 3 views
1

Я пытаюсь сделать следующее: фильтровать информацию из местоположений списка в зависимости от того, что пользователь входит в ниспадающий список городов. Я последовал шаг за шагом этот сайт ниже (но в моем случае его только один выпадающего меню и один 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, и из-за этого он ничего не делает. Кто-нибудь знает, что может быть неправильным?

ответ