怎么才能A页面的输出值赋予B页面的DataGrid的编辑模板上的一个TEXTBOX? 请问两个页面之间例如A和B 怎么才能A页面的输出值赋予B页面的DataGrid的编辑模板上的一个TEXTBOX?修改报表时候需要用到从别的页面返回,所以。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过查看源代码DataGrid的文本框ID已经变为id="DataGrid1__ctl2_TreeTypeName" 并且ct12这些数字是变化的。所以返回也不能写固定 如果不是DataGrid内部的文本框,本可以写为function showItem(which,id,cName){ eval('window.opener.document.all.'+which+'.value="'+id+'"')}来实现,,但现在的问题是DataGrid1的内部文本框问题 假设你已经到到了传递来的值,现在是想把它写到datagrid里面的一个文本框里面.那么,又假设你已经知道了要写入到datagrid哪一行的文本框,假设是第1行,那么string str = .....;TextBox txt = (TextBox)this.DataGrid1.Items[0].FindControl("此文本框的ID(服务端)");txt.Text = str; 现在的问题是 DATAGRID的每行的ID都不同,变成了 DataGrid1__ctl2_TreeTypeNameDataGrid1__ctl3_TreeTypeNameDataGrid1__ctl4_TreeTypeNameDataGrid1__ctl5_TreeTypeName 现在的问题是 DATAGRID的每行的ID都不同,变成了-----------------这个客户端的ID你在服务器端操作根本用不着去管它。比如你的控件原名为TextBox1,那么在生成HTML之后,它会变化成各种各样的ID,但只要你知道自己要把值写到哪一行的文本框里面去,你尽可以直接操控该行的TextBox1对象即可。不过,可能你要实现的目的并非如此,比如,是弹出一个窗口然后传递回值,此时你就需要知道需要把值传递到某个客户端的输入框,其实这也是可以做到的。比如,你可以直接把某客户端对象传递到取值的页面,如下:int icount = this.DataGrid1.Items.Count;for(int i=0;i<icount;i++){TextBox txt = (TextBox)this.DataGrid1.Items[i].FindControl("TextBox1");txt..Attributes.Add("onclick","window.open('xxx.aspx?txtname=" + txt.ClientID + "','','');");}如上,当点击该输入框的时候,即会向弹出页面传递该输入框的名称。 可能有一个按钮触发选择的事件可以通过按钮的ID去解析文本框的ID或者可以通过多带一个参数 showItem(this) {...} hchxxzx(NET?摸到一点门槛就是这个需求:是弹出一个窗口然后传递回值麻烦指教一下。能具体一点吗?谢谢你了,分不够再给。。 txt.ClientID 请注意这一句,你所说的ID 都在变化,通过这个属性就可以知道某文本框在客户端的ID RSA密钥格式 asp.net mvc导出pdf文件 MVC网站上传到空间后报错 asp.net 字符串替换 **** 正则表达式问题 求解~ 又要喊救命了,如何?如何? 高手帮忙写个验证码 【高分急求,在线等】如何制作无刷新提交留言板? 如何保证 .net 生成的代码适配不同的浏览器? 急救:Web打印的问题,用一个页面打印web页面的内容,但是浏览器的工具栏太多,感觉很难看,想只需要菜单栏,其他的工具栏如何屏蔽!!! 这个错误到底是怎么回事啊?帮我看看连接的问题
DataGrid的文本框ID已经变为id="DataGrid1__ctl2_TreeTypeName"
并且ct12这些数字是变化的。
所以返回也不能写固定
如果不是DataGrid内部的文本框,本可以写为
function showItem(which,id,cName){
eval('window.opener.document.all.'+which+'.value="'+id+'"')
}来实现,,
但现在的问题是DataGrid1的内部文本框问题
那么,又假设你已经知道了要写入到datagrid哪一行的文本框,假设是第1行,那么
string str = .....;
TextBox txt = (TextBox)this.DataGrid1.Items[0].FindControl("此文本框的ID(服务端)");
txt.Text = str;
DataGrid1__ctl2_TreeTypeName
DataGrid1__ctl3_TreeTypeName
DataGrid1__ctl4_TreeTypeName
DataGrid1__ctl5_TreeTypeName
-----------------
这个客户端的ID你在服务器端操作根本用不着去管它。
比如你的控件原名为TextBox1,那么在生成HTML之后,它会变化成各种各样的ID,但只要你知道自己要把值写到哪一行的文本框里面去,你尽可以直接操控该行的TextBox1对象即可。
不过,可能你要实现的目的并非如此,比如,是弹出一个窗口然后传递回值,此时你就需要知道需要把值传递到某个客户端的输入框,其实这也是可以做到的。比如,你可以直接把某客户端对象传递到取值的页面,如下:
int icount = this.DataGrid1.Items.Count;
for(int i=0;i<icount;i++)
{
TextBox txt = (TextBox)this.DataGrid1.Items[i].FindControl("TextBox1");
txt..Attributes.Add("onclick","window.open('xxx.aspx?txtname=" + txt.ClientID + "','','');");
}如上,当点击该输入框的时候,即会向弹出页面传递该输入框的名称。
可以通过按钮的ID去解析文本框的ID或者可以通过多带一个参数 showItem(this) {...}
就是这个需求:是弹出一个窗口然后传递回值
麻烦指教一下。
能具体一点吗?谢谢你了,
分不够再给。。
请注意这一句,你所说的ID 都在变化,通过这个属性就可以知道某文本框在客户端的ID