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

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

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

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

3.控制器中 :

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

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

例子为:

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.界面中

  @Html.DropDownListFor(x => x.CourseId(name)//通过id再去查询name

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

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

例子:

 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.界面

<tr>
<td class="adminTitle">
<span>课程名称:</span>
</td> <td class="adminData">
@Html.DropDownListFor(model => model.CourseId, Model.SCNames)//id对于的值
</td>
</tr>

c# (nop中)下拉列表(有外键)的更多相关文章

  1. 在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键)

    原文:在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有 ...

  2. 关​于​h​i​b​e​r​n​a​t​e​中​双​向​外​键​关​联​o​n​e​-​t​o​-​o​n​e​的​p​r​o​p​e​r​t​y​-​r​e​f​=​的​问​题(转)

    大家都知道hibernate中的one-to-one映射主要有两种策略,(1)一对一主键关联(单向和双向).(2)一对一外键映射(单项和双向).本文主要讲解一下,一对一外键映射中的双向问题,在此前先通 ...

  3. EF Code First中的主外键约定和一对一、一对多关系的实现

    对于主外键约定的理解,其实是学习实体间一对一和一对多关系的基础. 1.1 主键(Key)约定 主键的默认约定是:只要字段名为--实体名(类名)+"id"(不区分大小写),这就算是默 ...

  4. django中的数据库外键操作

    以MYSQL为例: (1)在model中定义两个数据表,食物信息和食物类别信息 class foodInfo(models.Model):     food_id = models.AutoField ...

  5. hibernate中指定非外键进行关联

    /** * 上级资源 */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "PARENT_ID", reference ...

  6. Navicat for Oracle中如何使用外键

    转自:https://blog.csdn.net/weixin_39183543/article/details/80555104 1. 外键名最后保存的时候自动生成: 2. 参考模式自动生成: 3. ...

  7. Linq技巧4——怎么在.NET 3.5 SP1中伪造一个外键属性

    在.NET 4.0 的EF 中,增加了FK Associations 的功能,但是在.NET 3.5 SP1 中,仅仅支持独立的关联,这意味着FK 栏位不能作为实体的属性来使用,也就是说在使用的时候, ...

  8. python django中的orm外键级联删除

    今天添加了一个路由表,路由表做外键,然后添加了几个组,路由表为组的外键,当我使用删除功能对路由表进行删除时,竞然将我的组也相当的删除了:尽管这是测试,但放到生产环境中还是会发生意外的:这个问题要解决: ...

  9. django amdin页面下拉列表的外键增加条件过滤

    class MenuList(admin.ModelAdmin): list_display = ('menuId', 'menuName', 'menuDesc', 'menuType', 'sor ...

随机推荐

  1. Linux中cp和scp命令的使用方法

    Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同. cp --- 主要是用于在同一台电脑上,在不同的目录之间来回copy文件 scp --- 主要是在不同的 ...

  2. 用WinDbg调试Windows和驱动程序

    由于本人能力有限,翻译不足之处敬请谅解,欢迎批评指正:sunylat@163.com MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/h ...

  3. MYSQL C API : CLIENT_MULTI_STATEMENTS 选项

    #include <iostream> #include <mysql.h> #include <string> #include <assert.h> ...

  4. QT学习之路--创建一个对话框

    Q_OBJECT:这是一个宏,凡是定义信号槽的类都必须声明这个宏. 函数tr()全名是QObject::tr(),被他处理过的字符串可以使用工具提取出来翻译成其他语言,也就是做国际化使用. 对于QT学 ...

  5. Change the Windows 7 Taskbar Thumbnail and List Mode

    Manually in Registry Editor 1. Open the Start Menu, then type regedit in the search boxand press Ent ...

  6. Android UI 绘制过程浅析(一)LayoutInflater简介

    前言 这篇blog是我在阅读过csdn大牛郭霖的<带你一步步深入了解View>一系列文章后,亲身实践并做出的小结.作为有志向的前端开发工程师,怎么可以不搞懂View绘制的基本原理——简直就 ...

  7. Spark SQL External Data Sources JDBC官方实现写测试

    通过Spark SQL External Data Sources JDBC实现将RDD的数据写入到MySQL数据库中. jdbc.scala重要API介绍: /** * Save this RDD ...

  8. spring数据源配置

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-// ...

  9. Windows 下动态链接库和静态链接库

    1.静态链接库:就是在编译的时候把库中代码复制进工程中,导致工程变大,但是速度快. 缺点在于一套代码可能在内存中有多份拷贝,占用内存. 2.动态链接库:库由windos api加载库代码,内存中只有一 ...

  10. 稍览了一下CommonJS

    CommonJS是服务器端模块的规范,现在炒得很火的Node.js采用了这个规范. 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行,最后 ...