我有一个名为 LinkControl 的自定义控件:
<asp:Panel runat="server">
<script language="javascript" type="text/javascript">
function CheckImage() {
var str = document.getElementById('<%=lblBookmarkId.ClientID%>').firstChild.nodeValue;
PageMethods.CodebehindCheckImage(str);
return false;
}
</script>
<asp:Label runat="server" ID="lblBookmarkId" Style="visibility: hidden;" />
<asp:Button runat="server" ID="btnCheck" Text="Check" OnClientClick="return CheckImage();" CausesValidation="false""/>
</asp:Panel>
该控件用于转发器内的页面书签,放置在转发器内的每个控件具有不同的 lblBookmarkId.Text 值。
代码隐藏页面书签具有以下功能:
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static bool CodebehindCheckImage(string str)
{
return true;
}
问题是当我为Repeater中的任何控件按下按钮btnCheck时,当我在函数CodebehindCheckImage中调试时,我总是得到字符串lblBookmarkId.Text包含在Repeater中存在的最后一个控件中。
欢迎大家提出意见。
问候沃伊切赫