我现在在页面里加了个“Repeater”控件
现在怎么在JavaScrip得到“Repeater”控件的选择行。
在“Repeater”控件的<ItemTemplate>里面加了个<input id="Button_3" type="button" value="编辑" />按钮。我想点击该按钮触发一个JavaScrip方法得到该行的信息。在JavaScrip里面用AJAX处理。请大家帮帮忙,原程序如下:
</HeaderTemplate><ItemTemplate>
<tr>
<td colspan="5" style="height: 21px">
<b> <a href="Default.aspx?smallid=<%#Eval("vCurriculum_Id") %>" style="border-color:Blue" >
<%# DataBinder.Eval(Container.DataItem, "vTitle")%></b>
</a></td>
<td style="background-color:#BAB9BA"> <input id="Button_3" style="left: 2px; position: relative; top: 3px" type="button"
value="编辑" /></td>
<td style="background-color:#BAB9BA"><font color="red">删除</font></td> </tr>
<tr> <td colspan="7">
<a href="Default.aspx?smallid=<%#Eval("vCurriculum_Id") %>" >
<%# DataBinder.Eval(Container.DataItem, "tContent")%>
</a></td>
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px ">
发布时间:<a><%# DataBinder.Eval(Container.DataItem, "dTime")%> </a></td>
<td style="width: 100px">
阅读(<%# DataBinder.Eval(Container.DataItem, "iClickNumber")%>)次</td>
<td style="width: 63px">
<span style="text-decoration: underline">下载附件</span></td>
</tr></ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td colspan="5" style="height: 21px">
<span style="text-decoration: underline"><b><a href="Default.aspx?smallid=<%#Eval("vCurriculum_Id") %>" >
<%# DataBinder.Eval(Container.DataItem, "vTitle")%>
</a></b></span></td>
<td style="background-color:#BAB9BA"> <input id="Button_3" style="left: 2px; position: relative; top: 3px" type="button"
value="编辑" /></td>
<td style="background-color:#BAB9BA"><font color="red">删除</font></td> </tr>
<tr>
<td colspan="7">
<a href="Default.aspx?smallid=<%#Eval("vCurriculum_Id") %>" >
<%# DataBinder.Eval(Container.DataItem, "tContent")%>
</a></td>
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
发布时间:<%# DataBinder.Eval(Container.DataItem, "dTime")%></td>
<td style="width: 100px">
阅读(<%# DataBinder.Eval(Container.DataItem, "iClickNumber")%>)次</td>
<td style="width: 63px">
<span style="text-decoration: underline">下载附件</span></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
现在怎么在JavaScrip得到“Repeater”控件的选择行。
在“Repeater”控件的<ItemTemplate>里面加了个<input id="Button_3" type="button" value="编辑" />按钮。我想点击该按钮触发一个JavaScrip方法得到该行的信息。在JavaScrip里面用AJAX处理。请大家帮帮忙,原程序如下:
</HeaderTemplate><ItemTemplate>
<tr>
<td colspan="5" style="height: 21px">
<b> <a href="Default.aspx?smallid=<%#Eval("vCurriculum_Id") %>" style="border-color:Blue" >
<%# DataBinder.Eval(Container.DataItem, "vTitle")%></b>
</a></td>
<td style="background-color:#BAB9BA"> <input id="Button_3" style="left: 2px; position: relative; top: 3px" type="button"
value="编辑" /></td>
<td style="background-color:#BAB9BA"><font color="red">删除</font></td> </tr>
<tr> <td colspan="7">
<a href="Default.aspx?smallid=<%#Eval("vCurriculum_Id") %>" >
<%# DataBinder.Eval(Container.DataItem, "tContent")%>
</a></td>
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px ">
发布时间:<a><%# DataBinder.Eval(Container.DataItem, "dTime")%> </a></td>
<td style="width: 100px">
阅读(<%# DataBinder.Eval(Container.DataItem, "iClickNumber")%>)次</td>
<td style="width: 63px">
<span style="text-decoration: underline">下载附件</span></td>
</tr></ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td colspan="5" style="height: 21px">
<span style="text-decoration: underline"><b><a href="Default.aspx?smallid=<%#Eval("vCurriculum_Id") %>" >
<%# DataBinder.Eval(Container.DataItem, "vTitle")%>
</a></b></span></td>
<td style="background-color:#BAB9BA"> <input id="Button_3" style="left: 2px; position: relative; top: 3px" type="button"
value="编辑" /></td>
<td style="background-color:#BAB9BA"><font color="red">删除</font></td> </tr>
<tr>
<td colspan="7">
<a href="Default.aspx?smallid=<%#Eval("vCurriculum_Id") %>" >
<%# DataBinder.Eval(Container.DataItem, "tContent")%>
</a></td>
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
发布时间:<%# DataBinder.Eval(Container.DataItem, "dTime")%></td>
<td style="width: 100px">
阅读(<%# DataBinder.Eval(Container.DataItem, "iClickNumber")%>)次</td>
<td style="width: 63px">
<span style="text-decoration: underline">下载附件</span></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
推荐你用ASP.NET AJAX 或者Magic AJAX那样只用一个updatepanel就搞定了
或许能找到你感兴趣的问题
可否变成服务器控件????
<input id="Button_3" runat="server" onclientclick="myjavascript(this);" type="button" value="编辑" />
这时,this就能得到当前行的ID
再把TR变成服务器控件,加一个ID,用Button_3的ID,就能得到TR的ID,就可以控制行了.
function TaskEdit(obj)
{
var tdObj = obj.parentNode; // 回到td标记
var trObj = tdObj.parentNode; // 回到tr标记
for( int i=0; i< trObj.childNodes.length; i++)
{
// 遍历整行的所有td内的标记,取得属性
}
}
</script>以上只是提出了一种假设,可供参考,具体我也没有调试过。
repeater控件中的label控件客户端id可以拼出来的,但是规则不一定和webconfig的一个xmlcurren什么的配置有关,忘了,连接字符串可能是$,:什么的.
<script type="text/javascript" language="javascript">
function on_Chick(obj)
{window.alert(obj.name);
}
</script><td><input id="Button1" style="position: relative" type="button" value="锁定" name='<%# Eval("vUserId") %>' onclick="on_Chick(this)"/></td>给这个Button的name属性绑定数据源,该行的ID。
点击该按钮就可以得到该行的ID了。
:)