Mar*_*man 17 html c# asp.net web-controls
当使用ASP.NET CheckBox(并且在外部情况下,继承自a CheckBox)时,它会在复选框输入控件周围呈现一个范围,此跨度控件正在影响jQuery脚本.
渲染时是否可以删除此跨度?
小智 35
找到这个有用的提示:
在Code Behind中,使用InputAttributes而不是Attributes.
例如,键入以下内容:
chk.InputAttributes.Add("onchange", "updateFields()")
Run Code Online (Sandbox Code Playgroud)
而不是这个:
chk.Attributes.Add("onchange", "updateFields()")
Run Code Online (Sandbox Code Playgroud)
或者代替内联声明:
<asp:CheckBox ID="chk" runat="server" onchange="updateFields()" />
Run Code Online (Sandbox Code Playgroud)
最后两个将导致包装跨度.
Bry*_*yan 10
我只是在测试页面上尝试了这个,而且我没有得到我的CheckBox控件......你确定它是CheckBox吗?有条件吗?
更新:好的,它似乎取决于CheckBox是否有额外的属性,包括CssClass设置......或"禁用"属性.
我不知道这是否适用于这个特定的例子.但是如果您创建自己的WebControl并且您从不希望它自己渲染跨度,您可以覆盖控件渲染方法,如下所示:
public class MyWebControl : WebControl
{
/* Your code
between here */
protected override void Render(HtmlTextWriter writer)
{
RenderContents (writer);
}
}
Run Code Online (Sandbox Code Playgroud)
我想你可以将它添加到继承的CheckBox ......就像这样:
public class MyCheckBox : CheckBox
{
/* Your code
between here */
protected override void Render(HtmlTextWriter writer)
{
RenderContents (writer);
}
}
Run Code Online (Sandbox Code Playgroud)
解决方案的基本问题在这里有更好的解释:http:
//www.marten-online.com/net/stripping-span-tag-from-webcontrol.html
| 归档时间: |
|
| 查看次数: |
24794 次 |
| 最近记录: |