asp.net-mvc – ASP.NET MVC RadioButtonListFor始终是预设的
发布时间:2020-12-16 03:52:48 所属栏目:asp.Net 来源:网络整理
导读:我有一个radiobuttonlist为自定义适配器工作,但如果用户表单数据被重置,并且之前没有提交任何数据,其中一个单选按钮(第一个)总是被预选,我想避免这种情况,我该如何实现? @Html.RadioButtonForSelectList(model = model.ViewModelForThingCreate.ThingTypeID
我有一个radiobuttonlist为自定义适配器工作,但如果用户表单数据被重置,并且之前没有提交任何数据,其中一个单选按钮(第一个)总是被预选,我想避免这种情况,我该如何实现?
@Html.RadioButtonForSelectList(model => model.ViewModelForThingCreate.ThingTypeID,Model.ViewModelForCarCreate.CarTypeSelectList) 和: public static MvcHtmlString RadioButtonForSelectList<TModel,TProperty>(this HtmlHelper<TModel> HTMLHelper,Expression<Func<TModel,TProperty>> Expression,IEnumerable<SelectListItem> ListOfValues) { var MetaData = ModelMetadata.FromLambdaExpression(Expression,HTMLHelper.ViewData); var SB = new StringBuilder(); if (ListOfValues != null) { foreach (SelectListItem Item in ListOfValues) { var ID = string.Format("{0}_{1}",MetaData.PropertyName,Item.Value); var Radio = HTMLHelper.RadioButtonFor(Expression,Item.Value,new { id = ID }).ToHtmlString(); SB.AppendFormat("<label class="radio inline" for="{0}">{1} {2}</label>",ID,Radio,HttpUtility.HtmlEncode(Item.Text)); } } return MvcHtmlString.Create(SB.ToString()); } 谢谢! 解决方法
我刚刚在mvc3模板中尝试过你的方法,它似乎对我来说很好.基本上我已经创建了一些模型
public class IndexModel { public string ID; public IEnumerable<SelectListItem> Elements; } 然后创建实例和填充值: var model = new IndexModel() { ID = "a",Elements = new List<SelectListItem>() { new SelectListItem() { Text = "test1",Value = "1"},new SelectListItem() { Text = "test2",Value = "2"}} }; 在视图中我使用了你的扩展方法 <form> @(Extensions.RadioButtonForSelectList(Html,x => x.ID,Model.Elements)) <button type="reset">Reset</button> </form> 发布后,一切似乎都很好.在加载时未选择字段,并在按下“重置”按钮后清除它们. 你能否提供更多细节,因为我不确定我是否完全明白你想要达到的目的:-) 编辑: 这是单选按钮HTML的示例.它们在开头肯定没有填充,如果你想要它们需要添加,但默认情况下你可以发送表单而不选择任何单选按钮.您还可以通过添加选中来检查一个,如第二个示例中所示.你在客户端使用一些JavaScript吗?也许是造成这种副作用? http://jsbin.com/isadun/1 MZ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-web-api – 如何在MVC4 Web API中的自定义绑定器中
- asp.net – 将密码格式从加密更改为哈希
- ASP.NET Web API项目自动生成接口文档和测试页面
- asp.net – Web API IIS要求
- asp.net-mvc – 基于属性名称的共享编辑器模板?
- asp.net-mvc – 解散并提交表单Bootstrap 3
- ASP.NET MVC jquery自动填充值和文本字段
- asp.net-mvc – 如何在MVC中实现工作单元:责任
- .net – DataContract Serializer数组节点名称’d3p1′
- asp.net-mvc – Knockout JS发送到MVC 3
推荐文章
站长推荐
- asp.net – 如何使用Membership API与自己的应用
- asp.net-mvc – 在Hub,SignalR之外获取connectio
- asp.net-web-api – ASP.NET核心WebAPI 404错误
- asp.net-core – 如何在启动时将数据放入MemoryC
- webforms – ASP.NET Web窗体(4.5)强类型模型绑定
- asp.net-mvc – 将带有字符串的json数组发布到As
- asp.net – 是否可以并行运行iis6和iis7?
- asp.net-mvc – 登录页面上的Asp.Net MVC捆绑
- asp.net-mvc – Razor视图引擎.cshtml页面中的Ou
- ASP.NET MVC中的“Generic”OpenID 5
热点阅读