SelectListItem не устанавливается через раскрывающийся список после расширения класса SelectList - PullRequest
0 голосов
/ 03 мая 2018

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

NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта ....
возвратный просмотр ("StringView", c.IssueSelected.CardColor);

Контроллер:

[HttpPost]
public async Task<ActionResult> CardCreate(UpdateCardFormOptions c)
{
    return View("StringView", c.IssueSelected.CardColor);
}

View

@using (@Html.BeginForm())
{
<p><label>Issue Category*:</label>  @Html.DropDownListFor(c => @Model.IssueSelected, Model.IssueList, new { @class = "form-control", @style = "width: 350px" })</p>
}

Модель:

public IssueSelectListItem IssueSelected { get; set; }


 public List<IssueSelectListItem> IssueList = new List<IssueSelectListItem>() {
            new IssueSelectListItem() {Text="xxx", Value="yyy",CardColor="pink"},
};

public class IssueSelectListItem : SelectListItem
{
    public string CardColor { get; set; }
}

1 Ответ

0 голосов
/ 03 мая 2018

Эта запись дала мне подсказку, оказалось, что мне нужно было установить значение CardColor в представлении, я не мог просто установить эквивалент объекта. Для просмотра необходимо установить CardColor в соответствии с моим выбором выпадающего меню, например:

<p><label>Issue Category*:</label>  @Html.DropDownListFor(c => @Model.IssueSelected.CardColor, Model.IssueList, new { @class = "form-control", @style = "width: 350px" })</p>

Не собираюсь принимать мой собственный ответ, все еще надеясь, что у кого-то есть лучший ответ, это просто решило мою непосредственную проблему

...