问个一次了,没人答,求高人指点。DataGrid点击某行,不要刷新,把改行中某列的值写到页面上的textbox里面。

轻舟已过万重山 2004-09-15 05:00:10
具体点的要求:
DataGrid的列表,需要在itemdatabind的时候呢,为每行绑定个javascript,到点击该行的时候就把该行中第一列第二列的值写到另外的两个文本框里面。由于不要重新去取值,所以老板坚决要求不要刷新的。各位老大看看怎么处理,急啊!
...全文
184 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckysusan 2004-09-15
  • 打赏
  • 举报
回复
e.item.Attribute.add("onclick","filltextbox(this)");

将下面的javascript函数加到head里面,当然也可以直接放到绑定里面
function filltextbox(obj)
{
document.all.your_textbox1.value = this.cells[0].innerText;第一列
document.all.your_textbox2.value = this.cells[1].innerText;第二列

}
ny_nicholas 2004-09-15
  • 打赏
  • 举报
回复
学习
  • 打赏
  • 举报
回复
对了,写错了!多谢各位!
ar7_top 2004-09-15
  • 打赏
  • 举报
回复
路过,学习
luaiping 2004-09-15
  • 打赏
  • 举报
回复
e.Item.Attributes.Add("onclick","javascript:alert('test');");
famousun 2004-09-15
  • 打赏
  • 举报
回复
可以,刚才试了一下
e.Item.Attributes.Add("onclick","javascript:alert('ddd');") ;
wangrenda 2004-09-15
  • 打赏
  • 举报
回复
if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{}
?
wangrenda 2004-09-15
  • 打赏
  • 举报
回复
e.Item.Attributes.Add("onclick", "javascript:ClientMethod();");
一定可以,
  • 打赏
  • 举报
回复
<tr onClick="<script language='javascript'>alert('hello')</script>" onmouseover="this.style.backgroundColor='#FEE4D0'">
<td>1</td>
<td>2</td>
</tr>
这个就是上面代码能在客户端生成的预料中的代码,实际上onmouseover是有用的,而onclick是没用的,是不是这个办法行不通,应该用其他的,比如模板列来实现这个效果?一直没找到什么好的办法,有劳各位了。
zhq3k 2004-09-15
  • 打赏
  • 举报
回复
很好实现呀,
在itemdatabind事件中,把第一列和第二列的值加到item属性中,绑定javascript到item中
大概如下:
e.item.Attribute.add("myc1",value_c1);
e.item.Attribute.add("myc2",value_c2);
e.item.Attribute.add("onclick","javascript:myclick(this);");

myclick脚本
function myclick(obj)
{
window.document.form1.text1.value = obj.getAttribute("myc1");
window.document.form1.text2.value = obj.getAttribute("myc2");
}
  • 打赏
  • 举报
回复
和我想的做个的一摸一样,问题是绑定后不行的,现在这样是绑定到行了吧,在itemdatabind里面写的。如下,看看:
e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='#FEE4D0'");
这个绑定没问题,运行也很好。但是
e.Item.Attributes.Add("onclick","<script language='javascript'>alert('hello')</script>");
这样就不行了。这个onClick根本就触发不了。
famousun 2004-09-15
  • 打赏
  • 举报
回复
string script="<script language='javascript'>获得的文本框的ID.value='"+e.Item.Cells[0].Text +"'; 第二个雷同第一个;</script>"
e.Item.Attributes.add("onclick",script)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧