zoukankan      html  css  js  c++  java
  • web开发框架中解决dropdownlist绑定值未将对象引用设置到对象的实例的问题

    在开发项目中dropdownlist控件是常用到的控件,它的值的绑定是件比较复杂的事情,所以需要我们仔细且知道它的相关技能点( 深入Web框架-JQuey对CheckBox、RadioButton和DropDownList值操作和事件),要不然很容易出错,在web开发框架中dropdownlist绑定值出现未将对象引用设置到对象的实例的问题是怎么回事?

    问题

    在项目开发中笔者经常出现下面的错误,和大家共勉:

    问题现象

    定位

    大家看红色框中的提示,web开发框架绑定selectlist值的是时候报引用Null错误,这个很清楚是我给dropdownlist的绑定值为Null引起的,看下我们前后端的代码:

    web前端cshtml页面

    @Html.LocalizedDropDownListFor(model => model.BelongedListsTitles, (IList<SelectListItem>)ViewBag.BelongedLists, 
    Model.BelongedListsTitles, "", new { @class = "form-control" })

    开发框架后台代码    List<BelongedLists> belongedLists = _belongedListsService.GetAllBelongedLists();

    
        List<SelectListItem> belongedListVB = new List<SelectListItem>();
    belongedLists.ForEach(t => { belongedListVB.Add(new SelectListItem { Value = t.Name.ToString(), Text = t.Link }); });
    ViewBag.BelongedLists = belongedListVB;

    解决

    web开发框架里我们可以看到前后端代码的差异,LocalizedDropDownListFor的绑值参数为ViewBag.RelatedLists,而后台赋值参数为ViewBag.BelongedListsTitle,页面执行代码的时候肯定会被报null的错误, 我们把前后端改为一致就可以了。这个在开发中经常会碰到,特别是我们使用dropdownlist控件的相关属性有名称改变时要特别关注下下。

    在web开发框架中dropdownlist绑定值出现未将对象引用设置到对象的实例的问题是怎么回事?

  • 相关阅读:
    Linux命令(25)userdel命令
    Linux命令(24)clear命令
    Linux命令(23)usermod命令
    Linux命令(22)useradd命令
    c++primer 练习9.28
    概率论python代码
    python自写软件(三)
    Linux描述符表和描述符高速缓存
    操作系统的坑(更新)
    python自写软件(二)
  • 原文地址:https://www.cnblogs.com/bdft/p/10188653.html
Copyright © 2011-2022 走看看