asp.net-mvc – 使用disabled =“disabled”属性创建一个SelectListItem
发布时间:2020-05-23 11:43:22 所属栏目:asp.Net 来源:互联网
导读:我没有看到通过HtmlHelper创建一个将会吐出以下HTML的SelectListItem的方法: option disabled=disableddont click this/option 唯一的物业SelectListItem有: new SelectListItem{ Name = dont click this, Value = string.Empty,
|
我没有看到通过HtmlHelper创建一个将会吐出以下HTML的SelectListItem的方法: <option disabled="disabled">don't click this</option> 唯一的物业 new SelectListItem{
Name = "don't click this",Value = string.Empty,Selected = false
}
我看到的唯一选择是 >将SelectListItem子类添加到Enabled属性以获取视图的值 解决方法这是我可以尝试在完全重新创建帮手之前。基本的想法是,你从帮助者获得的Html应该形成良好,所以应该是安全的解析。因此,您可以通过使用自己的扩展使用现有扩展来构建该想法,但添加禁用项目的功能。这样做可能会(完全未经测试) public class CustomSelectItem : SelectListItem
{
public bool Enabled { get; set; }
}
public static class CustomHtmlHelpers
{
public static MvcHtmlString MyDropDownList(this HtmlHelper html,IEnumerable<CustomSelectItem> selectList)
{
var selectDoc = XDocument.Parse(html.DropDownList("",(IEnumerable<SelectListItem>)selectList).ToString());
var options = from XElement el in selectDoc.Element("select").Descendants()
select el;
foreach (var item in options)
{
var itemValue = item.Attribute("value");
if (!selectList.Where(x => x.Value == itemValue.Value).Single().Enabled)
item.SetAttributeValue("disabled","disabled");
}
// rebuild the control,resetting the options with the ones you modified
selectDoc.Root.ReplaceNodes(options.ToArray());
return MvcHtmlString.Create(selectDoc.ToString());
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在asp.net mvc2项目中不需要MS脚本的JQuery验证
- asp.net – 可以通过从web.config中删除条目来关闭所有的MV
- asp.net – 如何使用在web.config文件
- asp.net-mvc – 为什么我不能在ASP.NET MVC 3中使用HtmlDec
- asp.net – 什么是asp:DropDownList客户端事件?
- ASP.NET中的基页
- 谈基于.net平台开发中的模式窗体
- asp.net – 从global.asax – mvc重定向到一个动作
- asp.net-core – AspNetCore Abstractions无法加载
- 在ASP.NET MVC中获取原始请求
推荐文章
站长推荐
- asp.net-mvc-3 – 是否可以在Javascript文件中使
- asp.net-mvc – 如何GetBytes()在C#与UTF8编码与
- C# 快速高效率复制对象另一种方式 表达式树
- asp.net-mvc – ASP.NET MVC 3中的OutputCache行
- asp.net使用H5新特性实现异步上传的示例
- asp.net – 太多的Cookie OpenIdConnect.nonce导
- asp.net-mvc-3 – WebAPI PUT / POST中的部分实体
- asp.net-mvc – 如何处理MVC5中的配置和代码中的
- 如何处理在MVC视图中应用程序启动和传输和显示错
- asp.net – Orchard CMS高级主题
热点阅读
