这几天都在用Atlas做一个网站的Demo,遇到了一个自己不懂的问题。
请先看下面的用Atlas调用本地Web Services实现检查输入用户名是否在数据库中存在的代码:——暂且命名为“代码一”
请看在“代码一”中的第4行
请先看下面的用Atlas调用本地Web Services实现检查输入用户名是否在数据库中存在的代码:——暂且命名为“代码一”
1<script language="javascript" type="text/javascript">
2 function TestonClick()
3 {
4 var username = $("ctl00_CPHolder1_CreateUserWizard1_CreateUserStepContainer_UserName").value;
5 AtlasService.TestUser(username,onTestUserComplete);
6 }
7 function onTestUserComplete(result)
8 {
9 if (result)
10 $("user_sidebarTR").innerHTML = "恭喜您,您可以使用此用户名,请继续……";
11 else
12 $("user_sidebarTR").innerHTML = "对不起,用户名已存在,请您更换……";
13 }
14</script>
再结合下面的代码(ASP.Net2.0工具箱登录选项卡中“CreateUserWizard”服务器控件中的一部分Html代码):——暂且命名为“代码二”2 function TestonClick()
3 {
4 var username = $("ctl00_CPHolder1_CreateUserWizard1_CreateUserStepContainer_UserName").value;
5 AtlasService.TestUser(username,onTestUserComplete);
6 }
7 function onTestUserComplete(result)
8 {
9 if (result)
10 $("user_sidebarTR").innerHTML = "恭喜您,您可以使用此用户名,请继续……";
11 else
12 $("user_sidebarTR").innerHTML = "对不起,用户名已存在,请您更换……";
13 }
14</script>
1……
2<tr>
3 <td align="right">
4 <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">用户名:</asp:Label></td>
5 <td>
6 <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
7 <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
8 ErrorMessage="必须填写“用户名”。" ToolTip="必须填写“用户名”。" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
9 <input id="Test" type="button" value="检验" onclick="return TestonClick()" />
10 </td>
11 </tr>
12……
(备注:现在的代码没有问题可以运行的很正常)2<tr>
3 <td align="right">
4 <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">用户名:</asp:Label></td>
5 <td>
6 <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
7 <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
8 ErrorMessage="必须填写“用户名”。" ToolTip="必须填写“用户名”。" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
9 <input id="Test" type="button" value="检验" onclick="return TestonClick()" />
10 </td>
11 </tr>
12……
请看在“代码一”中的第4行
var username = $("ctl00_CPHolder1_CreateUserWizard1_CreateUserStepContainer_UserName").value;
。这段代码是想查找到在“代码二”中第6行的
<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
TextBox服务器控件的值。如果我把“代码一”中的第4行改为
var username = $("UserName").value;
是错误的。因为程序运行后“代码二”中TextBox服务器控件的ID并不是编写时给的“ID="UserName"”而是“ID="ctl00_CPHolder1_CreateUserWizard1_CreateUserStepContainer_UserName"”,所以我想请问:如果我不直接像现在在“代码一”中第4行那样写出具体的服务器控件ID,我该如何取出服务器控件的ID呢?
作者对转载者要求说明(以下简称本说明):
1、确保您已经遵守了《中华人民共和国信息网络传播权保护条例》,且必须遵守《刚刚网络作品版权声明》(若两文件有冲突内容以《中华人民共和国信息网络传播权保护条例》为准,但其他非冲突内容依然各自有效),再转载。
2、“本说明、作者、作者博客网址及作者博客坐落,本文中提及的各种说明、备注或附录性文字”必须被转载,且不得改变其原有内容和要表达的意图!
作者:刚刚 作者博客网址:http://lijigang.cnblogs.com/ 作者博客坐落在博客园
把握现实生活,培养自身能力
掌握新型技术,提高自我力量