Невозможно получить значение из вложенного JSON в выпадающий список - PullRequest
0 голосов
/ 22 октября 2019

Вот пример JSON

enter image description here

Сейчас я могу получить Банк HooMan, используя var b = details.b.Select(x => x.Bank).FirstOrDefault();, если я установил точку останова изконтроллер. Моя проблема в том, как мне выбрать Hooman для @Html.DropDownListFor

Что я пробовал, это

@Html.DropDownListFor(m => m.BankID, new SelectList(ViewBag.BankList, "BankID", "BankName", Model.b.Select(x => x.Bank).FirstOrDefault()), new { @class = "form-control" })

Но, похоже, он не выбирает HooMan .. Я также пытался использовать SelectList на модели, как это

details.BankList = new SelectList(JsonConvert.DeserializeObject<List<BankLists>>(await OperationServices.GetBankListAsync()),
                                        "BankID", "BankName", details.b.Select(x => x.Bank).FirstOrDefault());
//View
@Html.DropDownListFor(m => m.BankID, Model.BankList, new { htmlAttributes = new { @class = "form-control" } })

У меня тот же результат. Выпадающий список не смог выбрать данные. Что-то, что мне не хватает? Мне также нужно получить значения внутри acs.

EDIT (согласно запросу Tomato32):

BankList также является JSON, и мы десериализовали его в модель. Я могу получить список и добавить его в раскрывающийся список, но я не могу выбрать значение из вложенного JSON выше.

enter image description here

1 Ответ

0 голосов
/ 22 октября 2019

друг мой, извините за поздний ответ. Вы выбрали BankName для выпадающего списка, поэтому он не может выбрать истинное значение.

Вы можете установить выбранное значение с помощью JQuery, чтобы вам не нужно было сильно менять код. Вот образец. Надеюсь помочь, мой друг:))

1) В контроллере

var selectedBank = bankData.b.Select(t => t.Bank).FirstOrDefault();  //Get the selected bank name

ViewBag.SelectedBankID = banklist.FirstOrDefault(t => t.BankName == selectedBank).BankID; //Get the BankID 

2) В представлении

<script>
        $(document).ready(function () {
            $('#BankID').val('@ViewBag.SelectedBankID');

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