主要实现MVC listbox左右移动,搜索左边用户
controller
 
            List<userinfo> lstUserInfo = new List<userinfo>();
List<userinfo> lstColLessonUsers = new List<userinfo>();
lstColLessonUsers = _CollaborativeLessonUsersBLL.GetListByUserId(userIds, true, new[] { UserInfo_OrderByItem.FullName_ASC });
MultiSelectList lstMuLessonUser = new MultiSelectList(lstColLessonUsers, "userid", "FullName");
ViewBag.MuLessonUser = lstMuLessonUser;
lstNotExistUserInfo = _CollaborativeLessonUsersBLL.GetListByUserId(userIds, false, new[] { UserInfo_OrderByItem.FullName_ASC });
MultiSelectList lstMuNotExistUserInfo = new MultiSelectList(lstNotExistUserInfo, "userid", "FullName");
ViewBag.MuNotExistUserInfo = lstMuNotExistUserInfo;

view:

    <div>
<p>主持人:@ViewBag.UserName</p>
<p><input id="txtUserName" type="text" /><input id="btnSearch" type="button" value="搜索" /></p>
</div>
<div style="width:auto;">
@Html.ListBox("NoExistUser", ViewBag.MuNotExistUserInfo as MultiSelectList, new { style = "width:100px;height:300px;", ondblclick = "move('NoExistUser','lessonUser')" })
<input id="btnMoveRight" type="button" value="&gt;" class="btn" title="移动选择项到右侧" />
<input id="btnMoveLeft" type="button" value="&lt;" class="btn" title="移动选择项到左侧" />
@Html.ListBox("lessonUser", ViewBag.MuLessonUser as MultiSelectList, new { style = "width:100px;height:300px;", ondblclick = "move('lessonUser','NoExistUser')" })
</div>
<div>
<input id="btnSave" type="button" value="确定" class="btn-01" style="border: 0; cursor: pointer" />
</div>

JQ:

      $(document).ready(function () {
//左右移动
$("#btnMoveRight").on("click", function () { move("NoExistUser", "lessonUser") });
$("#btnMoveLeft").on("click", function () { move("lessonUser", "NoExistUser") });
//保存
$("#btnSave").on("click", function () {
$("#lessonUser option").attr("selected", true);
var lessonUser = $("#lessonUser").val();
alert(lessonUser);
$("#hnUserIds", window.parent.document).val(lessonUser);
})
$("#btnSearch").on("click", function () {
var userName = $.trim($("#txtUserName").val());
//已选用户
$("#lessonUser option").attr("selected", true);
var arrLessonUser = $("#lessonUser").val();
//
$.ajax({
type: "post",
data: { lessonId: "@ViewBag.LessonId", userName: userName },
url:"@Url.Action("GetUserName","CollaborativeLesson")",
success: function (data) {
$("#NoExistUser").empty();
var optionhtml = "";
if (data!=null && data.length>) {
$.each(data, function (i, item) {
if ($.inArray(item.UserId, arrLessonUser) < ) {
optionhtml += ("<option value=\"" + item.UserId + "\">" + item.FullName + "</option>");
}
})
$("#NoExistUser").append(optionhtml);
} }
})
}) })
//移动
function move(lstFrom, lstTo) {
var selUser = $("#" + lstFrom).val();
if (null != selUser && selUser != "") {
var selOption = $("#" + lstFrom).find("option:selected");
$("#" + lstFrom).find("option:selected").remove();
$("#" + lstTo).append(selOption);
}
else {
alert("请选择用户!");
return false;
}
}

类似的:http://www.cnblogs.com/liguanghui/archive/2011/11/02/2232858.html

HtmlHelper用来在视图中呈现 HTML 控件。http://www.cnblogs.com/jyan/archive/2012/07/23/2604474.html

1.ListBox

@Html.ListBox("lstBox1",(SelectList)ViewData["Categories"])
@Html.ListBoxFor(a => a.CategoryName, (SelectList)ViewData["Categories"])

生成结果:

<select id="lstBox1" multiple="multiple" name="lstBox1">
<option value="">Beverages</option>
<option value="">Condiments</option>
<option selected="selected" value="">Confections</option>
<option value="">Dairy Products</option>
<option value="">Grains/Cereals</option>
<option value="">Meat/Poultry</option>
<option value="">Produce</option>
<option value="">Seafood</option>
</select>
<select id="CategoryName" multiple="multiple" name="CategoryName">
<option value="">Beverages</option>
<option value="">Condiments</option>
<option value="">Confections</option>
<option value="">Dairy Products</option>
<option value="">Grains/Cereals</option>
<option value="">Meat/Poultry</option>
<option value="">Produce</option>
<option value="">Seafood</option>
</select>

2.DropDownList

@ Html.DropDownList("ddl1", (SelectList)ViewData["Categories"],  "--Select One--")
@Html.DropDownListFor(a => a.CategoryName, (SelectList)ViewData["Categories"], "--Select One--", new { @class = "dropdownlist" })

生成结果:

<select id="ddl1" name="ddl1">
<option value="">--Select One--</option>
<option value="">Beverages</option>
<option value="">Condiments</option>
<option selected="selected" value="">Confections</option>
<option value="">Dairy Products</option>
<option value="">Grains/Cereals</option>
<option value="">Meat/Poultry</option>
<option value="">Produce</option>
<option value="">Seafood</option>
</select>
<select class="dropdownlist" id="CategoryName" name="CategoryName">
<option value="">--Select One--</option>
<option value="">Beverages</option>
<option value="">Condiments</option>
<option value="">Confections</option>
<option value="">Dairy Products</option>
<option value="">Grains/Cereals</option>
<option value="">Meat/Poultry</option>
<option value="">Produce</option>
<option value="">Seafood</option>
</select>

DropDownList

表现形式一
public ActionResult Main()
{
List<SelectListItem> items = new List<SelectListItem>();
items.Add(new SelectListItem { Text = "Action", Value = "" });
items.Add(new SelectListItem { Text = "Comedy", Value = "" });
ViewBag.MovieType = items;
return View();
}
表现形式二:
public enum Unit
{
吨,
堆,

}
var values = Enum.GetValues(typeof(Unit)).Cast<Unit>();
var items = from value in values
select new SelectListItem { Text = value.ToString(), Value = value.ToString()., Selected = value == Unit.堆 };
表现形式三(编辑、更新有默认值):
//下拉菜单
List<SelectListItem> list = new List<SelectListItem>()
{
new SelectListItem(){Value="Man",Text="Man"},
new SelectListItem(){Value="Female",Text="Female"}
};
ViewBag.Gender = new SelectList(list, "Value", "Text",entity.Gender);

使用方法扩展:

/// <summary>
/// 在MVC开发中我们常常用到枚举类型,通常枚举类型在使用中是是用DropDownList,每次转换不是什么好办法。 通过扩展加以实现此功能。
/// </summary>
public static class ExSelectListItem
{
public static IEnumerable<SelectListItem> ToSelectListItem(this Enum valueEnum)
{
var values = Enum.GetValues(valueEnum.GetType());
var result= from int value in values select new SelectListItem { Text =Enum.GetName(valueEnum.GetType(),value), Value = value.ToString() };
return result;
}
public static List<SelectListItem> ToSelectListItem(this Enum valueEnum, string selectName)
{
return (from int value in Enum.GetValues(valueEnum.GetType())
select new SelectListItem
{
Text = Enum.GetName(valueEnum.GetType(), value),
Value = Enum.GetName(valueEnum.GetType(), value),
Selected = Enum.GetName(valueEnum.GetType(), value) == selectName ? true : false
}).ToList();
}
}
var items = Unit.堆.ToSelectListItem("捆");
ViewBag.Unit = items;

MVC HtmlHelper listbox用法的更多相关文章

  1. ASP.NET MVC HtmlHelper用法集锦

    ASP.NET MVC HtmlHelper用法集锦 在写一个编辑数据的页面时,我们通常会写如下代码 1:<inputtype="text"value='<%=View ...

  2. MVC HtmlHelper用法大全

    MVC HtmlHelper用法大全HtmlHelper用来在视图中呈现 HTML 控件.以下列表显示了当前可用的一些 HTML 帮助器. 本主题演示所列出的带有星号 (*) 的帮助器. ·Actio ...

  3. 扩展ASP.NET MVC HtmlHelper类

    在这篇帖子中我会使用一个示例演示扩展ASP.NET MVC HtmlHelper类,让它们可以在你的MVC视图中工作.这个示例中我会提供一个简单的方案生成Html表格. HtmlHelper类 Htm ...

  4. ASP .NET MVC HtmlHelper扩展——简化“列表控件”的绑定

    在众多表单元素中,有一类<select>元素用于绑定一组预定义列表.传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListControl,我们经常用到DropDo ...

  5. MVC 中DropDownList 用法

    MVC 中DropDownList  用法 后台 Dictionary<string, int> dc = new Dictionary<string, int>(); dc. ...

  6. Spring MVC RedirectAttributes的用法解决办法

    Spring MVC RedirectAttributes的用法很久没发过技术贴了,今天对于一个问题纠结了2小时,遂放弃研究用另一种方法解决,奈何心中一直存在纠结,发帖求解 我先解释下什么是Redir ...

  7. MVC HtmlHelper扩展——实现分页功能

    MVC HtmlHelper扩展类(PagingHelper) using System; using System.Collections.Generic; using System.Collect ...

  8. C# ASP.NET MVC HtmlHelper用法大全

    UrlHrlper 下面的两个地址一样的功能 下边这个防止路由规则改变 比如UserInfo/Index改为UserInfo-Index,使用下面的不受影响 另一种形式的超链接: <%: Htm ...

  9. ASP.NET MVC HtmlHelper用法大全

    HTML扩展类的所有方法都有2个参数: 以textbox为例子public static string TextBox( this HtmlHelper htmlHelper, string name ...

随机推荐

  1. Docker 的优势

    下面我们主要从Docker对业务架构和生产实践的角度来分析. 随着业务规模的逐渐扩大,产品复杂度也随着增加,企业需要解决快速迭代.高可靠和高可用等问题,一个自然的选择是服务化的拆分,把一个单体架构拆分 ...

  2. luogu1900 自我数

    分享一个非正解的做法 本题解内存最低(\(\le1\rm MiB\)) 但是不开O2会tle 思路:每个数字仅会更新出1个新的数字,而且这个新数字比旧数字最多也就大70多.所以这里还是利用" ...

  3. 网络工程18级《C++程序设计II》实践作业1

    A.类的应用1 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 162 (133 users) Total Accepted: 136 ...

  4. C语言中存储类别、链接与内存管理

      第12章 存储类别.链接和内存管理 通过内存管理系统指定变量的作用域和生命周期,实现对程序的控制.合理使用内存是程序设计的一个要点. 12.1 存储类别 C提供了多种不同的模型和存储类别,在内存中 ...

  5. Django之ORM其他骚操作 执行原生SQl

      Django ORM执行原生SQL # extra # 在QuerySet的基础上继续执行子语句 # extra(self, select=None, where=None, params=Non ...

  6. Codeforces Round #339 (Div. 2) A

    Description Programmer Rostislav got seriously interested in the Link/Cut Tree data structure, which ...

  7. lnmp 架构

    Mysql安装 tar zxf mysql-boost-5.7.17.tar.gz yum install -y gcc gcc-c++ yum install cmake-2.8.12.2-4.el ...

  8. css animation fade in

    <html> <style> @-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}} @-o-keyframes fad ...

  9. Oozie的缺点

    Oozie使用的时候有以下不便: [a]Oozie调度的Workflow只能使用XML文件配置 [b]启动调度只能通过命令行 [c]无法通过Oozie界面调试调度脚本 [d]Oozie无法可视化调试脚 ...

  10. 3.centos7 常用防火墙命令(转)

    1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...