4

"")" />

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

有什么办法可以解决这个问题吗?谢谢 ;)

4

3 回答 3

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。

于 2010-02-24T18:30:50.830 回答
2

你可以像这样使用 jQuery 来做到这一点:

var control = '#<%= chbSAveState.ClientID%>';
$(control).change(function(){
    SaveState($(this).id);
});
于 2010-02-24T18:35:14.410 回答
0

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

<input type="checkbox" id="chbSaveState" runat="server" tabindex="3" 
onchange="SaveState(chbSaveState.ClientID)" />
于 2010-02-24T18:27:29.943 回答