asp.net-mvc-3 – 添加属性以选择列表选项
发布时间:2020-12-15 22:59:52 所属栏目:asp.Net 来源:网络整理
导读:我在Razor视图中有一个下拉列表中的项目列表.在数据库中,每个项目都具有与之相关联的3个值 – 数据库标识,短名称(用于显示)和长名称(用于传递给服务).下拉列表必须显示短名称,所以我将数据库id作为文本的缩写名称填入下拉列表. 然而,当用户选择一个项目时,我
我在Razor视图中有一个下拉列表中的项目列表.在数据库中,每个项目都具有与之相关联的3个值 – 数据库标识,短名称(用于显示)和长名称(用于传递给服务).下拉列表必须显示短名称,所以我将数据库id作为文本的缩写名称填入下拉列表.
然而,当用户选择一个项目时,我需要使用jQuery将长名称作为查询参数传递给搜索服务,例如当选择Cortina时,需要将“Ford Cortina 1979 Blue”传递给该服务.我的第一个想法是将长名称存储为数据破折号属性,但我想知道是否有更好的方法.所以 >如何在下拉列表中存储所有3个值? DB: CARID SHORT_NAME LONG_NAME 1 Viper Dodge Viper 1982 2 Boxster Porsche Boxster 2009 Black 3 Cortina Ford Cortina 1979 Blue 控制器助手创建下拉列表: public static IEnumerable<SelectListItem> GetSelectList(this IEFRepository repository,string typeName) { var vehicle = repository.TypeTypes.FirstOrDefault(t => t.Name.ToUpper() == typeName); if (vehicle != null) { var carList = vehicle.SubTypes.ToList().OrderBy(s => s.Name); var selectList = new SelectList(subTypeList,"SubTypeID","Name"); return selectList; } } 这是我用来创建下拉列表的代码: <div class="editor-field"> @Html.DropDownListFor(model => model.CarID,new SelectList(ViewBag.Cars,"Value","Text","1")) @Html.ValidationMessageFor(model => model.CarShortName) </div> 以下是输出: <select id="CarID" name="CarID" data-val="true" data-val-number="The field CarID must be a number." data-val-required="The CarID field is required."> <option value="2">Boxster</option> <option value="3">Cortina</option> <option selected="selected" value="1">Viper</option> </select> 解决方法
每个人都忘记了“经典”的方式来解决这些问题:使用foreach循环,并实际写入输入的html.只有不利的是,您必须添加自动属性的东西(如验证等),这取决于您的目的可能不是一件大事.
就像是: <select> // add other attributes as expected @foreach(var type in Model.MyFancyTypes) { <option value="@type.SubTypeID" data-description="@type.Description" @if(ViewBag.TypeSelected == type.SubTypeID) { selected="selected" }>@type.Name</option> } </select> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 发布webgrid asp.net mvc3的项目
- asp.net-mvc – MVC / Razor – 当有下列括号时,Intellisen
- asp.net – Windows应用程序与Web应用程序开发
- asp.net-mvc-4 – 如何在Razor MVC4中创建DateTimePicker?
- asp.net – aspnet_compiler找到错误版本的System.Web.WebP
- vs2008试用期到期解决办法
- asp.net – 如何保护存储在web.config中的密码?
- .net – SqlBulkCopy超时
- asp.net-mvc – 未授权用户时重定向到AccessDenied页面
- ms-access – ASP奇怪的未指定错误 – 80004005
推荐文章
站长推荐
- asp.net-web-api – Asp.net Web Api的基本项目模
- 两个单选按钮ASP.NET C#
- asp.net-mvc – 在MVC Web应用程序中设置默认值
- 防止IIS卸载ASP.Net站点
- asp.net – Mono apache2 =服务暂时不可用(503)
- asp.net-mvc – 具有复杂路径的ASP.Net MVC – 如
- asp.net – Response.Redirect(Request.Url.Abso
- asp.net – 如何在IIS7中为HttpHandler注册多个路
- 在ASP.NET应用程序之间传递会话数据
- asp.net – 日期字段不会在Chrome浏览器中显示该
热点阅读