asp:HyperLink
元素当然会生成标准锚标记。例如,以下内容将生成class
属性。
<asp:HyperLink CssClass="foo" NavigateUrl="..."></asp:HyperLink>
生成:
<a class="foo" href="..."></a>
奇怪的是,标准class
属性似乎在较少的字符中也是如此。
<asp:HyperLink class="foo" NavigateUrl="..."></asp:HyperLink>
生成:
<a class="foo" href="..."></a>
这一切都很好,但尝试设置id
,你会发现情况并非总是如此(HyperLink
类定义了自己的ID
,它采用了先验这里)。您还会注意到使用标准锚属性时没有智能感知。
所以我的问题是,这是预期的行为(我无法在任何地方找到它)?是否可以保证,如果我定义onclick
属性或HyperLink
类尚未定义的任何属性,它将转移到生成的锚标记?
答案 0 :(得分:1)
记录了预期的行为here:
&#34;您添加到控件中的任何未映射到该控件属性的属性都会传递给浏览器。&#34;
此外,您可以通过attributes集合将任何客户端HTML属性添加到任何ASP.NET Web控件。如果您不确定哪些属性映射到控制属性,这可能是一种更安全的方法。
我个人认为整个属性/属性映射练习不必要地混淆,这就是我更喜欢MVC的原因。