从aspx调用ClientID

时间:2010-02-24 18:26:04

标签: c# asp.net clientid

“”)“/>

不起作用,错误说: 分析器错误消息:服务器标签不能包含<%...%>构建体。

任何解决此问题的方法? 谢谢;)

3 个答案:

答案 0 :(得分:10)

您正在调用JS事件(onchange),而不是服务器事件,因此只需传入this.id

<input type="checkbox" id="chbSaveState" runat="server" tabindex="3"  
onchange="SaveState(this.id)" /> 

要明确,this.id<%=chbSaveState.ClientID%>在这种情况下将返回相同的值。因为你在chbSaveState的事件上调用它,所以你可以在这里使用易于访问的JS属性,而不是<%=chbSaveState.ClientID%>,这需要服务器返回服务器生成的id。控制权。

答案 1 :(得分:2)

你可以这样使用jQuery:

var control = '#<%= chbSAveState.ClientID%>';
$(control).change(function(){
    SaveState($(this).id);
});

答案 2 :(得分:0)

我对服务器端控件没有太多经验,但可能:

<input type="checkbox" id="chbSaveState" runat="server" tabindex="3" 
onchange="SaveState(chbSaveState.ClientID)" />