JQ 获取.NET服务器端控件的方法的不解?

1. 页面服务器控件:<asp:TextBox ID="txtValidate" runat="server" Width="120px" class="wbk1" style="width:76px;margin-right:8px; float:left"  ></asp:TextBox>

 问题:

    今天在做开发验证的时候,发现JQ获取服务器端控件的时候,用 alert($("#txtValidate").val());  方式也可以拿到值;我用的是VS2010,浏览器是IE8,

    用IE开发工具看了下也没问题生成的HTML的ID 也是txtValidate,我不明白的是为什么生成的是txtValidate,而不是"字符+txtValidate",这是vs2010

     的新功能吗?还是我ie8的新功能?

2.如果我用$("[id=txtValidate]").val(),或者$("#txtValidate").val(),在IE6,或者火狐是不是会出现不兼容问题?


3.如果我换了VS2005是不是生成的客户端HTML就是"编码+原来ID"了?

备注:

        alert($("[id=txtValidate]").val())
        alert( $("[id$=txtValidate]").val());
        alert($("#<%=txtValidate.ClientID%>").val());

        以上这几种方式都可以拿到值,原因很简单是生成的HTML就是txtValidate.

希望大虾帮忙解决下,谢谢!

参考:

http://www.bcbbs.net/News/Content72586.aspx

posted @ 2011-04-26 17:24  红萝卜  阅读(2215)  评论(12编辑  收藏  举报