Как обработать событие изменения выпадающего списка в mvc4? - PullRequest
0 голосов
/ 10 мая 2018

У меня выпадающий список в родительском представлении, а также несколько частичных представлений.Когда пользователь изменяет значение раскрывающегося списка, все частичные значения должны меняться в соответствии с новым значением в раскрывающемся списке.Пожалуйста, посмотрите на мой сценарий.Я думаю, что чего-то не хватает.

При первой загрузке страницы я использую ActionResult, который совпадает с выпадающим событием изменения раскрывающегося списка.Таким образом, один и тот же ActionResult вызывает дважды.

Ошибка

Не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено)

Модель

public class ClsA
{  public string Country{get;set;}      
    public List<first> firsts{ get; set; }    
    public List<second> seconds{ get; set; }
    public List<third> thirds{ get; set; }
}

public class first
{     
    public string NameId { get; set; }
    public string Address { get; set; }

}

public class second
{
    public string Details{ get; set; }
    public string Age{ get; set; }             
}

public class third
{
    public string occupation{ get; set; }
    public string company{ get; set; }             
}

Контроллер

[HttpGet]
public ActionResult ABC(string countrylist)
 {
   SDetails sDetails=new SDetails(); 
   string nameid = sDetails.Rst(countrylist).FirstOrDefault().NameId;       
   var model = new ClsA();
   model.firsts = sDetails.Rst(countrylist);            
   model.seconds = sDetails.Rs(nameid); 
   model.thirds = sDetails.Ss(nameid);  
   return View(model);
 }

Просмотр

@model Aplication.Models.ABC.ClsA     
@Html.DropDownListFor(m => m.Country, new List<SelectListItem>
{                       
    new SelectListItem {Value = "NP", Text="NLand" },
    new SelectListItem {Value = "MS", Text = "MaLand"},    
},new { @id = "CountryList"})

<div id=myA>
    @{ Html.RenderPartial("_PartialA", Model.firsts); }
</div>
<div id=myB>
    @{ Html.RenderPartial("_PartialB", Model.seconds);} 
</div>
<div id=myC>
    @{ Html.RenderPartial("_PartialC", Model.thirds);} 
</div>

Скрипт

  $('#CountryList').change(function () {
                var countrylist = $(this).val();
                var url = '@Url.Action("ABC", "ABC")';
                $('#myA').load(url, { countrylist: countrylist });
                $('#myB').load(url, { countrylist: countrylist });
                $('#myC').load(url, { countrylist: countrylist });
            });

_PartialA

@model  IEnumerable<Aplication.Models.ABC.first>

    <table>
        <tr>
           <th>@Html.DisplayNameFor(m => m.NameId)</th>
            <th>@Html.DisplayNameFor(m => m.Address)</th>            
        </tr>

        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.NameId)
                </td>
                <td>                   
                    @Html.DisplayFor(modelItem => item.Address)                    
                </td>                

            </tr>
        }
    </table>

_PartialB

@model  IEnumerable<Aplication.Models.ABC.second>

    <table>
        <tr>
           <th>@Html.DisplayNameFor(m => m.Details)</th>
            <th>@Html.DisplayNameFor(m => m.Age)</th>            
        </tr>

        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.Details)
                </td>
                <td>                   
                    @Html.DisplayFor(modelItem => item.Age)                    
                </td>                

            </tr>
        }
    </table>

_PartialC

@model  IEnumerable<Aplication.Models.ABC.third>

    <table>
        <tr>
           <th>@Html.DisplayNameFor(m => m.occupation)</th>
            <th>@Html.DisplayNameFor(m => m.company)</th>            
        </tr>

        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.occupation)
                </td>
                <td>                   
                    @Html.DisplayFor(modelItem => item.company)                    
                </td>                

            </tr>
        }
    </table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...