读书人

(一个礼拜也没解决的有关问题)JavaS

发布时间: 2012-01-31 21:28:41 作者: rapoo

(求助,一个礼拜也没解决的问题)JavaScrip中控制ASP.NET 控件
我现在在页面里加了个“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>



[解决办法]
如果你对ajax\js程序开发不熟练的话
推荐你用ASP.NET AJAX 或者Magic AJAX

那样只用一个updatepanel就搞定了
[解决办法]
<input id= "Button_3 " type= "button " value= "编辑 " />
可否变成服务器控件????
<input id= "Button_3 " runat= "server " onclientclick= "myjavascript(this); " type= "button " value= "编辑 " />
这时,this就能得到当前行的ID
再把TR变成服务器控件,加一个ID,用Button_3的ID,就能得到TR的ID,就可以控制行了.
[解决办法]
如果你能理解控件的工作原理!我像无论什么样的你都可以写!空间呈现的结果是html只要有ID都可以用javascript获取
[解决办法]
最好看看客户端生成的HTML,再写js
[解决办法]
如果你删除了一条数据后怎么重新显示,不是还得再刷新一次吗
[解决办法]
<input id= "Button_3 " type= "button " value= "编辑 " onclick= "TaskEdit(this) "/>

<script type= "text/jscript ">
function TaskEdit(obj)
{
var tdObj = obj.parentNode; // 回到td标记
var trObj = tdObj.parentNode; // 回到tr标记
for( int i=0; i < trObj.childNodes.length; i++)
{
// 遍历整行的所有td内的标记,取得属性
}
}
</script>

以上只是提出了一种假设,可供参考,具体我也没有调试过。
[解决办法]
基本用法就是 lizhengjun555 的方式,

但是,你的 table 格式复杂,要注意 行 和 列 的关系
[解决办法]
最好看看客户端生成的HTML,再写js
repeater控件中的label控件客户端id可以拼出来的,但是规则不一定和webconfig的一个xmlcurren什么的配置有关,忘了,连接字符串可能是$,:什么的.
[解决办法]
这个倒是没啥但是LZ要说清楚你究竟想要获得列的什么,和需要怎么处理,详细一点

读书人网 >asp.net

热点推荐