Asp.net复选框和html数据属性
在asp.net中,如果您使用自定义属性,通常按原样呈现。
考虑到这个标记(注意:id,name和for等属性在所有示例中被删除,因为它们的生成的id /名称是冗长的): <asp:TextBox runat="server" data-foo="bar" /> 在asp.net中呈现: <input type="text" data-foo="bar" /> 也就是说,asp.net保持数据不变。 复选框通常呈现如下: <asp:CheckBox runat="server" Text="Normal" /> 呈现为: <input type="checkbox" /> <label>Normal</label> 但是如果您在复选框上添加自定义属性: <asp:CheckBox runat="server" Text="Custom attribute" data-foo="bar" /> 它呈现为: <span data-foo="bar"> <input type="checkbox" /> <label>Custom attribute</label> </span> 正如你所看到的,渲染的范围保持属性。如果您在代码后添加属性,也会发生这种情况。这不会发生任何其他HtmlControl,AFAIK。 有人知道为什么这个范围被渲染来保持属性? 有没有在input标签中渲染属性? 解决方法
我不知道为什么它用一个跨度渲染,但是我想你可以直接将该属性直接添加到代码行为中的CheckBox的输入元素,如下所示:
myCheckBox.InputAttributes.Add(...) 参考链接: > http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkbox.inputattributes.aspx 更新 使用另外的父元素,因此您应用于复选框的属性可以影响输入和文本。我想这是一个跨度(而不是div),因为它是一个内联元素,使其在不同的场景中使用更方便。 参考链接: > http://en.wikipedia.org/wiki/Span_and_div#Differences_and_default_behavior (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – Internet Explorer嵌套表单帖子
- asp.net中ScriptManager和ScriptManagerProxy之间的区别
- 在基本控制器中覆盖ASP.NET MVC中的OnAuthorization
- asp.net-core – 使用.NET Core时需要AssemblyInfo吗?
- ASP.NET – 在Page_Pre_init()或Page_Init()或Page_Load()中
- asp.net – WebForms中的异步/等待 – 在页面生命周期结束之
- 你不能没有哪些第三方ASP.NET控件或库?
- Exceptionless - .Net Core开源日志框架
- asp.net – SQL网络接口,错误:26 – 定位服务器/实例指定错
- asp.net-mvc – Razor模板,views和angular.js
- asp.net-mvc – 通过Post和ASP.NET MVC上传Amazo
- asp.net – 如何在C#2.0中的Web.config中加密用户
- 容器HEALTHCHECK指令对接ASP.NET Core健康检查能
- asp.net-mvc – 如何在页面中显示ASP.net MVC项目
- asp.net – 使用Using语句的SQLConnection,从里面
- asp.net-mvc – VS2008中的“publish …”动作是
- asp.net-mvc-4 – 从beta版升级后的Autofac / MV
- asp-classic – 动态增加数组大小
- asp.net-mvc – Web项目需要使用Razor语法3.0.0.
- 根据存储的时区修改ASP.NET MVC C#中的日期