加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

Asp.net复选框和html数据属性

发布时间:2020-12-16 00:27:54 所属栏目:asp.Net 来源:网络整理
导读:在asp.net中,如果您使用自定义属性,通常按原样呈现。 考虑到这个标记(注意:id,name和for等属性在所有示例中被删除,因为它们的生成的id /名称是冗长的): asp:TextBox runat="server" data-foo="bar" / 在asp.net中呈现: input type="text" data-foo="b
在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
> http://forums.asp.net/p/541142/541562.aspx
> http://msdn.microsoft.com/en-us/library/system.web.ui.attributecollection.add.aspx

更新

使用另外的父元素,因此您应用于复选框的属性可以影响输入和文本。我想这是一个跨度(而不是div),因为它是一个内联元素,使其在不同的场景中使用更方便。

参考链接:

> http://en.wikipedia.org/wiki/Span_and_div#Differences_and_default_behavior
> http://learnwebdesignonline.com/span-div

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读