我在asp.net中使用jquery
我有一个用户控件,其中我有div和div表,在表tr和tr td以及td中我有标签。
ASCX:
<div ID="Container" runat="server" class="dvContainer">
<table ID="Table" class = "Tablecs">
<thead><tr>
<td colspan="2">
<asp:Label ID="lbl1" Text="Swiss" runat="server" /></td>
</tr>
</thead>
<tr>
<td>ABC</td>
<td>DEF</td>
</tr>
<tr>
<td><asp:Label ID="lblPA" Text="SUN 12/21 05:04" runat="server" /></td>
<td ><asp:Label ID="lblPD" Text="SUN 12/21 19:00" runat="server" /></td>
</tr>
<tr>
<td><asp:Label ID="lblAA" Text="SUN 12/21 05:04" runat="server" /></td>
<td ><asp:Label ID="lblAD" Text="SUN 12/21 19:00" runat="server" /></td>
</tr>
</table>
我想将数据动态绑定到这些用户控件。即,将数据绑定到用户控件中的标签。
我的Jquery
$div.find(".Table").text(oPorts[iCount].Name); // my result is an array of oPorts and i have filed as Name
但这不行。 当我动态检查代码时,它为每个标签生成SPAN 如何在循环中找到SPAN id dynamiccaly并将数据绑定到lables ??
感谢任何帮助。在此先感谢。
答案 0 :(得分:1)
假设您的用户控件带有如下所示的标记
<%@ Control Language="C#" AutoEventWireup="true"
CodeBehind="WebUserControl1.ascx.cs" Inherits="DOTNET_FORMS.WebUserControl1" %>
<div id="Container" runat="server" class="dvContainer">
<table id="Table" class="Tablecs">
<tr>
<td>
<asp:Label ID="lblPA" Text="SUN 12/21 05:04" runat="server" />
</td>
<td>
<asp:Label ID="lblPD" Text="SUN 12/21 19:00" runat="server" />
</td>
</tr>
</table>
</div>
您已在.aspx
页面上注册了此用户控件,如下所示:
<%@ Register TagPrefix="UC" TagName="Test" Src="~/WebUserControl1.ascx" %>
并像这样使用它:
<UC:Test ID="uc1" runat="server" />
然后,当您运行页面时,您的元素会呈现类似
的元素<div id="uc1_Container" class="dvContainer">
<table id="Table" class="Tablecs">
<tr>
<td>
<span id="uc1_lblPA">SUN 12/21 05:04</span>
</td>
<td>
<span id="uc1_lblPD">SUN 12/21 19:00</span>
</td>
</tr>
<tr>
<td>
<span id="uc1_lblAA">SUN 12/21 05:04</span>
</td>
<td>
<span id="uc1_lblAD">SUN 12/21 19:00</span>
</td>
</tr>
</table>
</div>
查看标签和其他元素(具有runat="server"
属性的元素)的ID如何更改,即
lblPA > uc1_lblPA
lblPD > uc1_lblPD
Container > uc1_Container
所以,你必须注意这些变化,因为只有这样你才能使用jQuery获取这些元素,因为jQuery是一种客户端语言,它在服务器端代码(runat =“server”)执行后执行
但是,如果您不想留意修改后的ID,可以执行以下操作
runat="server"
属性,并确保您的ID是唯一的,所有这些runat="server"
属性成为他们的属性,在所有服务器端控件上放置一个属性clientidmode="static"
。并且Ids不会改变。$('#"+'<%= lblPA.ClientID %>');
现在,由于你的ID是唯一的,你不需要找到,直接抓住这样的元素:
$('#lblPA').text();
或者如果您想要使用类Tablecs
遍历表的所有tds,请执行以下操作:
$('.Tablecs tr td').each(function(index, item){
alert($(item).text());
});