使用asp.net的母版页套用出来的页面中母版页和套用母版页的子页面中的服务器端控件的名称会与服务器控件中的定义不一致,
例如:
母版页的控件
<span style="font-size:18px;"><asp:TextBox ID="txtAccount" runat="server" placeholder="用户名" Width="110px"></asp:TextBox></span>
在浏览器端显示的源代码
<span style="font-size:18px;"> <input name="ctl00$txtAccount" type="text" id="ctl00_txtAccount" placeholder="用户名" style="width:110px;" /></span>
套用母版页的子页面中的控件
<span style="font-size:18px;"><asp:HyperLink ID="HyperLink1" runat="server" ForeColor="#666666" ></asp:HyperLink></span>
在浏览器端显示的源代码
<a id="ctl00_ContentPlaceHolder3_dlCommodity_ctl00_HyperLink1" style="color:#666666;"></a>
包含了 HyperLink1所在的各级容器 dlCommodity(datalist)和 ContentPlaceHolder3
因此,如果要在母版页面中写jquery(js),对该控件的引用$("#原来服务器端的命名id")(例如,$("#txtAccount"))则在生成的页面不能定位,使用类似
$(input[id*='txtAccount'])可实现在生成页面正常定位并实现jquery效果