Javascript ID和control.ClientID之间的差异,或者如果我可以通过ID访问控件,为什么要使用control.ClientID
这是.aspx文件中的代码Javascript ID和control.ClientID之间的差异,或者如果我可以通过ID访问控件,为什么要使用control.ClientID,javascript,asp.net,Javascript,Asp.net,这是.aspx文件中的代码 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Login Again</title> <script type="text/javascript"> function Validate() { if (document.getElementById("t
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Login Again</title>
<script type="text/javascript">
function Validate() {
if (document.getElementById("txtLogin").value == "") {
alert("Enter login name.");
}
if (document.getElementById("<%=txtLogin.ClientID%>").value == "") {
alert("Enter login name.");
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="txtLogin" runat="server"></asp:TextBox>
<asp:Button ID="btnSubmit" runat="server" Text="Login" OnClientClick="Validate()" />
</form>
</body>
</html>
再次登录
函数验证(){
if(document.getElementById(“txtLogin”).value==“”){
警报(“输入登录名”);
}
if(document.getElementById(“”).value==“”){
警报(“输入登录名”);
}
}
- 在函数Validate()中,我可以
使用控件的Id访问文本框
i、 e
so 我应该使用第二种方法吗 这是通过访问控制getElementById(“txtLogin”)
为什么control.ClientID
- 我的第一个理解是
我必须使用的访问服务器控件
这个语法
但是现在我来了 从这个例子中知道我可以 简单地访问服务器端控制 通过getElementById(“控件ID”)
简短的回答是ClientID,以确保找到您的控件。您使用的是哪个版本的ASP.NET?在.NET4中,您可以指定不自动生成ID 我认为这是巧合,因为您没有使用任何用户控件或其他容器。一旦你这样做了,你将无法保证控件ID保持不变,因此你应该使用第二种方法作为最佳实践,因为如果你的页面按照我所说的方式修改,你的javascript将不再工作,以后可能很难理解为什么