如何在代码后面更改HTML标签的onclick属性

时间:2012-10-22 20:50:57

标签: asp.net vb.net onclick htmlcontrols

好的,我有这个:

<div class="radio-toolbar">  
    <input type="checkbox" id="check1" name="checks" value="1">
    <label for="check1">1</label>

    <input type="checkbox" id="check2" name="checks" value="2">
    <label for="check2">2</label>

    <input type="checkbox" id="check3" name="checks" value="3">
    <label for="check3">3</label>
</div>

我正在寻找一种方法来设置 ASP.NET VB Codebehind 这些标签的“onclick”属性,使标签看起来像:

<div class="radio-toolbar">  
    <input type="checkbox" id="check1" name="checks" value="1">
    <label for="check1" onclick="some javascript">1</label>

    <input type="checkbox" id="check2" name="checks" value="2">
    <label for="check2" onclick="some javascript">2</label>

    <input type="checkbox" id="check3" name="checks" value="3">
    <label for="check3" onclick="some javascript">3</label>
</div>

所以,这可能吗?

3 个答案:

答案 0 :(得分:1)

使用asp:Label

<asp:Label ID="lblChk1" runat="server" AssociatedControlID="check1" Text="1">
</asp:Label>

然后在你的代码背后:

lblChk1.Attributes.Add("onclick","some javascript");

修改:您只需使用asp:CheckBox并使用其Text媒体资源即可。然后单击该文本将触发CheckBox的onclick事件。

答案 1 :(得分:0)

设置ID属性并为标签添加runat=server。然后,您可以访问代码隐藏中的标签:

<div class="radio-toolbar">  
    <input type="checkbox" id="check1" name="checks" value="1">
    <label ID="label1" runat="server" for="check1">1</label>

    <input type="checkbox" id="check2" name="checks" value="2">
    <label ID="label2" runat="server" for="check2">2</label>

    <input type="checkbox" id="check3" name="checks" value="3">
    <label ID="label2" runat="server" for="check3">3</label>
</div>

答案 2 :(得分:0)

我将使用带有AssociatedControlID属性的ASP.NET Label控件而不是html标签,该属性呈现为label for

<asp:Label ID="Label1" 
   AssociatedControlID="check1" 
   onclick="somejavascript" 
   runat="server" 
   Text="1"></asp:Label>  

您还可以从codebehind添加javascript:

Label1.Attributes.Add("onclick","somejavascript");

来自MSDN:

  

...   设置AssociatedControlID属性时,Label控件   呈现为HTML标签元素,将for属性设置为ID   关联控件的属性。您可以设置其他属性   使用Label属性的label元素。例如,您可以使用   Text和AccessKey属性提供标题和热键   对于相关的控制。

`