• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

jQuery如何获取ASP.NET服务器控件的值

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,总结有以下3种方法:

服务器控件代码:<asp:TextBox ID="txtUserID" runat="server"></asp:TextBox>

1. $("#<%=txtUserID.ClientID%>").val();
2. $("input[id*=txtUserID]").val();
3. $("*[id$=txtUserID]").val();


使用JQuery获得ClientID

MasterPages的ClientID似乎一直是个诟病,尤其是在当下客户端脚本泛滥的今天。

使用MasterPages,Server Control会向ClientID加些东西,使得客户端JS在使用ID方面十分不便,一个普遍解决方案是添加 ClientIDMode="Static" 属性,当然每一个都要改事件麻烦事。

下面是Jquery的解决方案,主要利用jquery智能的selector。

var arg = $('[id$=TextBox1]').val();

这样jquery就能够准确找到客户端控件的ID。

<input name="ctl00$MainContent$TextBox1" type="text" />

.Net 2.0 下使用 jQuery 属性选择器获取服务器控件 ClientID

aspx

<asp:textbox runat="server" >some strings here...</asp:textbox>

html
<input name="ctl00$txtMessage" />

说明

ClientID 服务器控件生成为HTML代码时所对应的id,需要在客户端访问时候用的,一般情况下与服务器端的 ID 相同,如果是控件嵌套则一般每层用_隔开。

客户端获取方法

var divContainer=document.getElementById('<%= txtMessage.ClientID%>');
var divContainer=$("[id$=txtMessage]");

jQuery 属性选择器

$("div[id]") 查找所有含有 id 属性的div元素
$("div[id='ajaxa']") 查找 id 为 ajaxa 的 div 元素
$("div[id!='ajaxa']") 查找 id 不为 ajaxa 的 div 元素
$("div[id^='ajaxa']") 查找 id 以 ajaxa 开头的 div 元素
$("div[id$='ajaxa']") 查找 id 以 ajaxa 结尾的 div 元素
$("div[id*='ajaxa']") 查找 id 含 ajaxa 的 div 元素
$("div[id^='ajaxa']") 查找 id 以 ajaxa 开头的 div 元素
$("div[id][class='ajaxa']") 查找存在id属性并且类为ajaxa的 div 元素


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
简单实现asp.net页面压缩(gzip,deflate)发布时间:2022-07-10
下一篇:
Asp.netMVC多语言应用发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap