前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c# (nop中)下拉列表(有外键)

c# (nop中)下拉列表(有外键)

作者头像
wfaceboss
发布2019-04-08 11:44:47
8950
发布2019-04-08 11:44:47
举报
文章被收录于专栏:wfacebosswfaceboss

第一种情况。view视图加载出来时就有值,实现步骤如下

1.在操作的界面Model中建立public List<SelectListItem> xxx(取名){ get; set; }

2.在Model中的构造函数中实例化this.Courses = new List<SelectListItem>();实例一个集合化

注:1和2是在同一个Model中完成的。

3.控制器中 :

(1)从数据库中查询出 所有数据(通过接口实现)

 (2)使用foreach遍历出来在实例化一个变量(类型为SelectListItem)

   例子为:

代码语言:javascript
复制
var courses = _courseService.GetAllCourses();//从数据查询数据
            foreach (var course in courses)
            {
                SelectListItem li = new SelectListItem();//实例化一个变量
                li.Text = course.CourseName;
                li.Value = course.Id.ToString();
                model.Courses.Add(li);
            }

4.界面中

代码语言:javascript
复制
  @Html.DropDownListFor(x => x.CourseId(name)//通过id再去查询name

第二种情况,view视图加载出来时没有值,实现步骤如下:

 同第一种只有控制器中有所差别:

例子:

代码语言:javascript
复制
 var model = new SCListModel();//中间model
            var courses=_courseService.GetAllCourses();
            SelectListItem li = new SelectListItem();
            li.Text = "";
            li.Value = "";
            model.SCNames.Add(li);
            foreach (var item in courses)
            {
                li = new SelectListItem();
                li.Text = item.CourseName;
                li.Value = item.Id.ToString();
                model.SCNames.Add(li);

4.界面

代码语言:javascript
复制
<tr>
        <td class="adminTitle">
         <span>课程名称:</span>
        </td>
       
        <td class="adminData">
            @Html.DropDownListFor(model => model.CourseId, Model.SCNames)//id对于的值
        </td>
    </tr>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-11-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档