比较麻烦的子,父页面传值问题

dd__dd 2008-10-08 04:13:54
我想将子页面GridView中选中的行的数据传给父页面对应的文本框中,有谁做过给点提示谢谢
...全文
298 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
豬豬終極版 2011-06-08
  • 打赏
  • 举报
回复
lz ,请问你问题是如何解决的?谢谢!
dd__dd 2008-10-09
  • 打赏
  • 举报
回复
问题解决了,找我一同志弄出来了,还是谢谢大家,给发分
chenguang79 2008-10-08
  • 打赏
  • 举报
回复
楼主的问题应该是在B页面选择中信息后,点提交后,B页面没有了,出现A页面,在文本框中显示选中的信息。
其实有一个显示的方法。楼主要传的其实就是一个值。
你在B页面可以取到这个选中的值吧。用redirect跳转到A,在后面加一个参数就行了a.aspx?values="你的值";
在A里面写
if(Request.Querything("values")!="")
{
this.TextBox1.text = Request.Querystring("values").tostring();
}
wonture 2008-10-08
  • 打赏
  • 举报
回复
function checkSelectCount(gvTableName) //gridview的ID
{
var tmp=
{
count:0,
ID:undefined //需要几个值在这里加
}

try
{
var gvTable = document.getElementsByName(gvTableName);
var gvTr=gvTable[0].getElementsByTagName("tr");
for(var i=0; i<gvTr.length; i++)
{
var gvTd=gvTr[i].getElementsByTagName("td");
if(gvTd.length!=0)
{
var gvCheckBox=gvTd[0].getElementsByTagName("INPUT")[0];
if(gvCheckBox!=undefined)
{
if(gvCheckBox.checked==true)//选中的列
{
tmp.count++;
tmp.ID=gvTd[1].innerHTML;//1是gridview第二列,取选中的第二列的值
}
}
}
}
}
catch(err){ }
return tmp;
}

gridview第一列为复选框,checkbox。
在提交按钮里添加一个js,调用上面这个方法,就可以得到你想要的值,你就可以在js里跳转页面传你想传的值啦。
dd__dd 2008-10-08
  • 打赏
  • 举报
回复
先谢谢大家啊,下班回家了,回家再研究研究
dd__dd 2008-10-08
  • 打赏
  • 举报
回复

protected void Button1_ServerClick(object sender, EventArgs e)
{
if (Request.Params["YBBM"] == null)
{
Response.Write("<script>alert('请先选择药品'); location.href='ypdz.aspx';</script>");
return;
}
string ybbm = Request.Params["YBBM"].ToString().Trim();
string sql = "select * from ypdz where ybbm='" + ybbm + "'";
try
{
Database db = new Database();
DataSet ds = new DataSet();
ds = db.GetDataSet(sql);
string dd = ds.Tables["MyData"].Rows[0]["ybbm"].ToString().Trim();
hdYBBM.Value = ds.Tables["MyData"].Rows[0]["ybbm"].ToString().Trim();
hdYBDJ.Value = ds.Tables["MyData"].Rows[0]["ypdj"].ToString().Trim();
hdYBLX.Value = ds.Tables["MyData"].Rows[0]["yblx"].ToString().Trim();
hdYBMC.Value = ds.Tables["MyData"].Rows[0]["ybmc"].ToString().Trim();
hdYBYJ.Value = ds.Tables["MyData"].Rows[0]["ybyj"].ToString().Trim();
hdZFBL.Value = ds.Tables["MyData"].Rows[0]["n_zfbl"].ToString().Trim();
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
Response.Write("<script>window.opener.document.getElementById( 'YBBM').value=document.getElementById('hdYBBM').value;</script>");
Response.Write("<script>window.close();</script>");
}
我这这么写的就是不行啊
yanyysoft 2008-10-08
  • 打赏
  • 举报
回复
在后台写行啊,在后台给单选项加个CheckedChanged事件就行啊
分享大哥 2008-10-08
  • 打赏
  • 举报
回复
用js写方法,在gridview中加入脚本调用,利用url传给子页面不就ok咯
dd__dd 2008-10-08
  • 打赏
  • 举报
回复
我加了个点选单选按钮了,行能获取到主要是传值问题,在后台写就不好用,前台写还没办法获取到行的数据了
amandag 2008-10-08
  • 打赏
  • 举报
回复
我想将子页面GridView中选中的行的数据传给父页面对应的文本框中,有谁做过给点提示谢谢
==
子页面的GridView RowDataBound事件中注册客户端脚本,类似10楼
drummery 2008-10-08
  • 打赏
  • 举报
回复
看一下这篇文章,介绍了如何在父窗口与弹出窗口之间进行传值。大体的思路是:

父页面创建弹出窗口,并声明接受窗口返回值的变量

<script type="text/javascript">
..
// 弹出子窗口,并接受返回值
var retValue = window.showModalDialog('popuppageurl');
..
// 处理返回值
if (null != retValue){
// retValue即选中行的主键数组,对该数组做进一步处理
for(var i=0;i<retValue.length;i++){
retValue[i];
}
}

</script>

子窗口将选中的行的主键作为返回值传递给父页面,然后关闭自己

<asp:GridView>

..
// 用JavaScript脚本,在每行的CheckBox发生变化时,把这一行的数据主键存入一个Js变量中或从中移除
<asp:CheckBox onclick="fnSelectRow(this)"/>
..

</asp:GridView>


<script type="text/javascript">

// 用该数组保存你选定的行的主键值
var arrSelectedKeys = new Array();

function fnSelectRow(source){
if(source.checked){
// 或取出数据行主键,可事先存入一个隐藏域之类的控件,然后读取并存入数组
// document.getElementById...
}
else{
// 将这一行主键从数组中移除
}
}


function fnFinalize(){
// 希望返回的值存入returnValue变量
window.returnValue = arrSelectedKeys;
window.close();
}
</script>

Go 旅城通票 2008-10-08
  • 打赏
  • 举报
回复
在子页中使用opener获得父页的引用

然后你想怎么操作父页就使用opener对象
wxg22526451 2008-10-08
  • 打赏
  • 举报
回复
可参考
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20080426110908CDR&fumcde=FUM20041006161839LRJ
greatverve 2008-10-08
  • 打赏
  • 举报
回复
楼主说是查询不是插入,怎么不是插入,查询后的数据插入GridView中.
或者说绑定到GridView,子页面父页面是怎么回事?学习.
wxg22526451 2008-10-08
  • 打赏
  • 举报
回复
要不直接就给Gridview的行添加单击的JS事件
sunchf 2008-10-08
  • 打赏
  • 举报
回复
不是很难的
可以在gridview的第一列加一个checkBox,或者直接就是一个触发动作的button,然后再根据操作的行,将行内的数据读出来,存在一个容器中(比较随便了),剩下的就简单了吧。。
wxg22526451 2008-10-08
  • 打赏
  • 举报
回复
加个模板列Button参数绑定主键ID,
Button单击事件中注册JS脚本来
处理子页面关闭并传值给父页面文本框
dd__dd 2008-10-08
  • 打赏
  • 举报
回复
来个高手帮忙解决下啊,急!!!!!
dd__dd 2008-10-08
  • 打赏
  • 举报
回复
gridview中的数据不是插入的,是查询的
yaokai0405 2008-10-08
  • 打赏
  • 举报
回复
和普通的传值没什么区别
你在向gridview插入数据的过程中同时将数据放到(例如数组)
在选中行的时候 取得行号 从而取得数据的下标
这就可以将数组中的内容取出来
以后你想干什么就干什么

62,047

社区成员

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

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

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

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