我们编写一些系统,无论是个人自用又或是学校、企业那些公用的,都应该会涉及到很多的数据之类的东西,而要把这些数据都弄到系统上的话又要用到SQL
Server了(数据库,就是先把那些数据表先给导入到这个数据库里,然后再到项目中去和数据库所需要的表给连进来),然后我们才能编写一些方法来让这些数据在系统上显示。
而下面我要讲的就是一种linq单表查询方法(顾名思义就是查询出一个表的数据)与下拉框的绑定
下面是在字面解释的一些方法名与写法(是在控制器上的哈,也是直接搬过来的哈?):
根据 UserNuber 查询用户
linq 单表查询的写法
/*
(from 自定义的表名 in Model对象.查询的表
【where 自定义的表名.字段1 关系运算符 值 【&& 自定义的表名.字段2 关系运算符 值】】
【orderby 自定义的表名.字段】
【select 自定义的表名】
【select new {自定义的表名.字段1,
自定义的表名.字段2,
自定义的表名.字段3,
....
}】
【select 类名{ 类的属性1=自定义的表名.字段1,
类的属性2=自定义的表名.字段2,
....
}】
)
.Single();//查询单条数据,当没有数据或者有多条数据时会触发异常
.ToList();//查询多条数据并转为List
.Count();//查询数据总数
看完上面我想你们应该还是不怎么懂的说?,下面就直接上干货让你们与上面的解析来对比一下吧!
来来来
public ActionResult hhh()
{
var biao = (from tb in myModel.SYS_Subject
select new
{
id = tb.SubjectID,
text = tb.Subject
}).ToList();
return Json(biao, JsonRequestBehavior.AllowGet);
}
这是在控制器上的写法,而要绑定还要在视图写js的方法(只是某一种哈)
function DNLM(id,url) {//自定义下拉框绑定
$.post(url, function (data) {
$(id).empty();//清空该元素
$(id).append('<option value = "0">请选择</option>');//创建option
$.each(data, function (i) {
$(id).append('<optionvalue="'+data[i].id+'"> '+data[i].text+'</option>');
});
});
}
通过empty方法清空元素使它每次刷新或重新选择都是显示通过append方法所创建的option标签的样式。
上面的是我自定义的一个封装好的方法,你可以放到一个js文件里,要用就直接把函数名拿出来用就行了(不过我用的是jquery的写法,所以要用的话还要引用jquery的插件的哈 ),不用每次都去写一次方法,从而可以方便些许。
到这里就完事了窝?,你会了么?