主要实现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. day02.2-常用Linux命令整理

    Linux命令语法格式:   命令    [选项]    [参数] 1). 命令:告诉Linux操作系统执行什么: 2). 选项:说明命令的运行方式.选项部分是以字符‘-’开始的: 3). 参数:说明 ...

  2. Educational Codeforces Round 61 (Rated for Div. 2)F(区间DP,思维,枚举)

    #include<bits/stdc++.h>typedef long long ll;const int inf=0x3f3f3f3f;using namespace std;char ...

  3. Vue Study [2]: Vue Router

    Description The article for vue router. Original post link:https://www.cnblogs.com/markjiang7m2/p/10 ...

  4. charset=iso-8859-1

    今天群里有人在问, 求解:charset="ISO-8859-1"是什么意思 其实我也不大懂,然后就去翻阅了下资料.科普开始: 网页制作中遇到的编码,乱码问题之一:charset= ...

  5. Python利用百度地图api批量获取地址经纬度

    1.pip安装xlrd,xlwt,requests模块. 2.在工程目录处放置地点Excel文件. python2.7.13代码: #coding:utf-8 import xlrd import x ...

  6. [ZJOI2018]历史(LCT)

    这篇还发了洛谷题解 [Luogu4338] [BZOJ5212] 题解 题意 给出一棵树,给定每一个点的 \(access\) 次数,计算轻重链切换次数的最大值,带修改. 先考虑不带修改怎么做 假设 ...

  7. jupyter notebook初步使用

    Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言.在本文中,我们将介绍 Jupyter notebook 的主要特性,以 ...

  8. 用sphinx-doc优雅的写文档

    Sphinx 是一个工具,它使得创建一个智能而美丽的文档变得简单.作者Georg Brandl,基于BSD许可证. 起初为写 Python 文档而诞生的 Sphinx,支持为各种语言生成软件开发文档. ...

  9. 2013 New available ICOM A2 Diagnostic & Programming For BMW ICOM A2+B+C

    AUTONUMEN.COM offer best price New ICOM A2 Diagnostic & Programming For BMW ICOM A2+B+C. bmw ico ...

  10. Connection closing...Socket close. Connection closed by foreign host. Disconnected from remote host(centos6.9) at 14:59:05.

    查找网上资料解决方法如下 [root@localhost ssh]# service sshd start Starting sshd: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...