一.单选DropDownList传值

1.添加界面的DropDownList显示值问题

(1)在方法内添加ViewData的方法:

 var ad = new UnitsRepository();
ViewData["datasourceid"] = new SelectList(ad.dsname(), "id", "dsname");
ViewData["showstyleid"] = new SelectList(ad.showstyle(), "id", "name");

从而传值到DropDownList下拉框

(2)在试图中使用DropDownList:

数据元:

@Html.DropDownList("datasourceid", ViewData["datasourceid"] as SelectList, "--请选择--", new { rows = "8", style = "width:224px" })

(3)按确认提交后,可使用POST表单提交方法在后台获得下拉框选取的值

2.编辑界面的DropDownList显示值与取值问题

(1)在方法内添加ViewData的方法:

   var rep = new UnitsRepository().GetViewData(confid);
var ad = new UnitsRepository();
ViewData["datasourceid"] = new SelectList(ad.dsname(), "id", "dsname", rep.dsname);
ViewData["showstyleid"] = new SelectList(ad.showstyle(), "id", "name",rep.showstylename);
其中rep的值为:
  public Units GetViewData(int config)
{
IList<Units> result1;
WiGetLinqDataContext db = new WiGetLinqDataContext();
var res = (from user in db.ApplicationUnits
where user.id == config
select new
{
dsname = user.ApplicationDatasource == null ? "" : user.ApplicationDatasource.dsname,
showstylename = user.ApplicationUnitsShowStyle == null ? "" : user.ApplicationUnitsShowStyle.name,
}).ToList();
result1 = (from u in res
select new Units
{
dsname = u.dsname,
showstylename = u.showstylename,
}).ToList();
return result1.FirstOrDefault();
}
ViewData分别调用的ad方法为:
 public IQueryable dsname()
{
WiGetLinqDataContext db = new WiGetLinqDataContext();
var dsname = from m in db.ApplicationDatasource select m;
return dsname;
}

这里需要注意的是,"SelectistListItem"和"ListBox"的继承类"SelectList"可以很好很方便的进行数值的传递,第四个参数就是为DropDownList提供默认显示值,即数据库内提取出来的值

(2)在试图中的DropDownList对应的也有默认值的显示设置:数据元:

@Html.DropDownList("datasourceid", ViewData["datasourceid"] as SelectList,Model.dsname)

因为是强类型试图,所有可以有Model,其中Model.dsname就是后台ViewData获取的SelectValue了。

 
二.多选DropDownList下拉框
1.首先引用对象的Css和1.8.11JS脚本,其中Css文件有:
 
 

2.获取多选下拉框的选项值:

@Html.DropDownList("Publishto", ViewData["Publishto"] as SelectList, "--请选择--", new { multiple = "multiple" })

其中的ViewData获取值方式和前面的单选DropDownList下拉框类似。

这里遇到的一个不同的情况是,多选项数据来自数据库表中一个对象的其中一个属性,而不是一个表的某个属性的所有对象。

这里就那该项目为例:

W,M,T分别代表:"Web平台" , "移动平台" , "客户端平台"

而这一个字符串存在一个对象的一个属性中,但是页面中显示效果为:

所以在获取数据时有所不同:

后台定义一个类和方法:

   public class Publishto
{
public string Code { get; set; }
public string Name { get; set; } public static List<Publishto> GetPublishtoList()
{
return new List<Publishto>
{
new Publishto { Code = "w", Name = "Web平台" },
new Publishto { Code = "m", Name = "移动平台" },
new Publishto { Code = "t", Name = "客户端平台" }
};
}
}

分别把W,M,T赋不同的字符串,

在方法中用ViewData取值时,语法为:

ViewData["Publishto"] = new SelectList(Publishto.GetPublishtoList(), "Code", "Name");

从而是前台显示的时候为对应的字符串。

3.多选下拉框取值的问题,可以用POST表单获取数据的方式:

string Pub = Request.Form["Publishto"].ToString();

这样,字符串Pub就可以获得类似“W,M"等类型的字符串了,然后存入数据库就行了。

 

DropDownList单选与多选下拉框的更多相关文章

  1. js:jquery multiSelect 多选下拉框实例

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. pentaho cde 自定义复选下拉框 checkbox select

    pentaho  自带的component 虽多,但是当用户需要在一个表格中查看多个组别的数据时,pentaho自带的单选框就不能实现了,所以复选下拉框势在必行,实现效果如下: 实现原理是借用了jqu ...

  3. Easyui-Combobox多选下拉框

    因为工作需要,引入combobox多选下拉框,并且获取选择的值并以","分开. 效果如下: 代码如下: <html> <head> <title> ...

  4. Extjs4.2 多选下拉框

    //多选下拉框 Ext.define('MDM.view.custom.MultiComboBox', { extend: 'Ext.form.ComboBox', alias: 'widget.mu ...

  5. Bootstrap3级联多选下拉框

    <!DOCTYPE html> <html> <head> <title>Bootstrap3级联多选下拉框</title> <met ...

  6. js怎么能取得多选下拉框选中的多个值?

    方法:获取多选下拉框对象数组→循环判断option选项的selected属性(true为选中,false为未选中)→使用value属性取出选中项的值.实例演示如下: 1.HTML结构 1 2 3 4 ...

  7. js多选下拉框

    1.js原生实现 1.1:引用JS文件 /*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ !function(a,b ...

  8. query多选下拉框插件 jquery-multiselect(修改)

    其实网上关于该控件的使用教程已经很多了,其中 query多选下拉框插件 jquery-multiselect Jquery多选下拉列表插件jquery multiselect功能介绍及使用 这2个的介 ...

  9. 多选下拉框带搜索(aps.net)

    自己写了一个带搜索功能的多选下拉框,为了要获取值,就没有封装插件,实现思路 1.一个文本框 做搜索 2.一个文本框显示选中文本,一个隐藏控件存值 3.一个div里面绑定CheckBoxList控件(这 ...

随机推荐

  1. 前端学习笔记(zepto或jquery)——对li标签的相关操作(五)

    对li标签的相关操作——has与find的差异性 demo代码: <ul> <li><p>1</p></li> <li>2< ...

  2. CSharp设计模式读书笔记(21):状态模式(学习难度:★★★☆☆,使用频率:★★★☆☆)

    模式角色与结构: 示例代码:(本示例在具体状态类中实现状态切换,也可以在环境类中实现状态切换.状态模式一定程度上违背开闭原则) using System; using System.Collectio ...

  3. CSS hack 如何区分所有IE浏览器和非IE浏览器

    网上方法很多,例如,测试后得出以下结论,多余的话不说了,直入主题: 1.所有的推理IE浏览器 正解:此写法仅仅被lE浏览器识别,非IE浏览器不识别. <!--[if IE]> <st ...

  4. Android游戏开发研究与主角在地图滚动

     让人感动的地图过程平滑滚动         玩过rpg朋友应该都知道RPG的游戏地图一般都比較大 今天我和大家分享一下在RPG游戏中怎样来处理超出手机屏幕大小的游戏地图. 如图所看到的为程序效果 ...

  5. 泛型方法动态生成表达式树 Expression

    public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> Temp = db.TraderInfo; if ...

  6. spark in eclipse---Spark学习笔记3

    想要调试源码,还是要放到eclipse里面去.先生成eclipse项目,下载依赖包 victor@victor-ubuntu:~/software/incubator-spark-0.8.1-incu ...

  7. C语言库函数大全及应用实例二

    原文:C语言库函数大全及应用实例二                                              [编程资料]C语言库函数大全及应用实例二 函数名: bioskey 功 能 ...

  8. js页码生成库,一个适合前后端分离的页码生成器

    原文:js页码生成库,一个适合前后端分离的页码生成器 前言 上星期写的任务里面有需要进行分页的处理,git搜索了一番,没有觉得合适的,于是自己临时写了个分页的算法. 然后等闲下来的时候,决定把分页进行 ...

  9. 纯CSS3打造七巧板

    原文:纯CSS3打造七巧板 最近项目上要制作一个七巧板,脑子里瞬间闪现,什么...七巧板不是小时候玩的吗... 七巧板的由来 先来个科普吧,是我在查资料过程中看到的,感觉很有意思. 宋朝有个叫黄伯思的 ...

  10. 图文详解ReSharper 8.1功能变化

    ReSharper 8.1版本已经发布有段时间了,被广大开发者购买和试用,今天小编就ReSharper 8.1功能变化就行详细的解说. 支持TypeScript 突出了重构(重命名,引入变量).导航. ...