我在使用一个aspx用户控件的时候遇到了问题,当我尝试通过JavaScript获取用户控件元素的值时,这个问题就出现了。如果在一个aspx页面中使用多个实例的用户控件,也会出现这个问题。
用户控件代码:
<script type="text/javascript">
function ucFun()
{
var a = document.getElementById("<%=tbName.ClientID%>");
alert(a.value);
return false;
}
</script>
<asp:Label Text="Name" runat="server" ID="lblname"></asp:Label>
<asp:TextBox ID="tbName" runat="server" ></asp:TextBox>
<asp:Button ID="btSubmit" runat="server" Text="Go" OnClientClick="ucFun()" />
网页表单代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc:cont runat="server" ID="ucID" />
<uc:cont runat="server" ID="Cont1" />
<uc:cont runat="server" ID="Cont2" />
</div>
</form>
</body>
</html>
当点击“Go”按钮时,弹出框显示null,因为该元素未定义。然而,在表单中只有一个用户控件实例时,它会正确地显示文本框的值。
是否有任何方法可以解决这个问题..
ucFun
的第一个版本。 - Rubens Farias