"")" />
这不起作用,错误说:解析器错误消息:服务器标签不能包含 <% ... %> 构造。
有什么办法可以解决这个问题吗?谢谢 ;)
您正在调用 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。
你可以像这样使用 jQuery 来做到这一点:
var control = '#<%= chbSAveState.ClientID%>';
$(control).change(function(){
SaveState($(this).id);
});
我对服务器端控件没有太多经验,但也许:
<input type="checkbox" id="chbSaveState" runat="server" tabindex="3"
onchange="SaveState(chbSaveState.ClientID)" />