asp.net-mvc-3 – 添加属性以选择列表选项
发布时间:2020-05-24 05:21:33 所属栏目: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-2 – 是asp.net MVC2包括在.net 4.0框架?
- asp.net-mvc – 不要在JSON中序列化Entity Framework类引用
- asp.net-mvc – ASP.NET MVC4 CustomErrors DefaultRedirec
- 在ASP.NET MVC中获取服务器机器名称?
- asp.net-core – 如何忽略MVC6中的路由
- ASP.NET Core 2.0和Angular 4.3文件上传进度
- asp.net – 如何使用转换语法更改web.config设置?
- asp.net-mvc – Resharper导航到MVC视图
- asp.net-4.0 – Asp.net 4.0:如何在自定义错误页面中获取异
- 在ASP.NET RadioButtonList ListItem上设置CSS类
推荐文章
站长推荐
- asp.net-mvc – 在ASP.NET MVC 2中模板化Html.Di
- asp.net-mvc – 如何将asp.net mvc集成到Web站点
- 61条面向对象设计的经验原则 转载
- Asp.net MVC5与Bootstrap EditorFor尺寸
- asp.net – ExecuteScalar抛出NullReferenceExce
- asp.net 文章内容分页显示的代码
- asp.net – 用于Active Directory帐户的Oauth 2令
- asp.net-mvc – 在Asp.Net MVC 2中有一种更好的方
- asp.net-mvc – 如何使用ASP.NET MVC ApiControl
- 使用oAuth和ASP.NET MVC WebApi进行身份验证
热点阅读
