我正在尝试扩展SelectListItem类以添加另一个名为CardColor的属性。但是,当我尝试访问控制器中的属性时,我得到了
NullReferenceException:对象引用未设置为对象的实例.... return View(“StringView”,c.IssueSelected.CardColor);
控制器:
[HttpPost]
public async Task<ActionResult> CardCreate(UpdateCardFormOptions c)
{
return View("StringView", c.IssueSelected.CardColor);
}
查看
@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; }
}
答案 0 :(得分:0)
这个post给了我一个线索,结果我需要在View中设置值CardColor,我不能只设置对象等价。 My View需要根据我的下拉选项设置CardColor,如下所示:
<p><label>Issue Category*:</label> @Html.DropDownListFor(c => @Model.IssueSelected.CardColor, Model.IssueList, new { @class = "form-control", @style = "width: 350px" })</p>
不接受我自己的答案,仍希望有人有更好的答案,这才解决了我的直接问题