我是从父窗体上打开一个弹出子窗口,
在子窗口内录入数据保存到数据库。
当录入完毕后需要刷新父窗体上的datagrid来展示数据(注意:只是父窗体的datagrid),其他都不需要刷新。
请教怎么做啊?
问这个问题的同志们很多,但是得到答案的很少,
请指教!
由于使用的是vs 2003,1.1 framework,
如果方便的话请使用ajaxPro或者MagicAjax等支持asp.net 1.1的ajax框架。敬请指教,小弟真的很需要~
在子窗口内录入数据保存到数据库。
当录入完毕后需要刷新父窗体上的datagrid来展示数据(注意:只是父窗体的datagrid),其他都不需要刷新。
请教怎么做啊?
问这个问题的同志们很多,但是得到答案的很少,
请指教!
由于使用的是vs 2003,1.1 framework,
如果方便的话请使用ajaxPro或者MagicAjax等支持asp.net 1.1的ajax框架。敬请指教,小弟真的很需要~
解决方案 »
- FormsAuthentication.SetAuthCookie(context.Request["UserName"],true);
- 用什么开源论坛能与网站共享Form窗体身份验证
- 有关客户端执行服务器...
- 一个网站有多个子域名,他们之间的Session可以共用吗?
- 安装不了Visual Web Developer2005Bate2中文版为什么?
- 关于不同页面之间传值问题(在线等)!
- asp.net发邮件说:与服务器连接失败
- 请各位大哥帮忙啊,http://61.151.248.9/admin/ordet.aspx?oid=39&cid=3
- 急须crstal reports 8.5,谁有下载地址?200分送上,谢谢!!!
- 怎样将表单提交的数据先保存成字符串?请各位高手帮忙,谢谢!!
- ◆今天上班..........................
- 关于VS2005生成DLL的问题.
opener.window.location.reload();window.close();
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
Dim txt As Object
Dim i As Integer
If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.Footer Then
txt = e.Item.Cells(0).Controls(1)
txt.Attributes.Add("onkeydown", "if(event.keyCode==13) {var desc=" + e.Item.Cells(i).Controls(1).ClientID + ".value;var nDialogWidth=700;var nDialogHeight=400;var nLeft=(window.screen.availWidth-nDialogWidth)/2;var nTop=(window.screen.availHeight-nDialogHeight)/2;var sFeatures='dialogLeft:'+nLeft+'px;dialogTop:'+nTop+'px;dialogHeight:'+nDialogHeight+'px;dialogWidth:'+nDialogWidth+'px;help:no;status:no';var bLogged=window.showModalDialog('Dialog_Item.aspx?type=0&desc='+escape(desc),window,sFeatures);if(bLogged != null) {" + e.Item.Cells(i - 1).Controls(1).ClientID + ".value=bLogged[0];" + e.Item.Cells(i).Controls(1).ClientID + ".value=bLogged[2];" + e.Item.Cells(i + 1).Controls(1).ClientID + ".value=bLogged[1];" + e.Item.Cells(i + 2).Controls(1).ClientID + ".value=bLogged[3];" + e.Item.Cells(i + 3).Controls(1).ClientID + ".value=bLogged[8];" + e.Item.Cells(5).Controls(1).ClientID + ".focus();" + e.Item.Cells(5).Controls(1).ClientID + ".select()}}")
End If
End Sub子窗口datagrid
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
Dim txt As Object
Dim i As Integer
If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
For i = 0 To DataGrid1.Columns.Count - 1
txt = e.Item.Cells(i).Controls(1)
Dim Js As String
Js = "if(event.keyCode==13)"
Js += "{var a=new Array(DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_Txt_Upc.value,"
Js += "DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_Txt_Brand.value,"
Js += "DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_Txt_Part_No.value,"
Js += "DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_txt_Description.value,"
Js += "DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_Txt_CATEGORY.value,"
Js += "DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_Txt_Unit.value,"
Js += "DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_Txt_Bom.value,"
Js += "DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_Txt_Qty.value,"
Js += "DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_Txt_BatchNo.value,"
Js += "DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_txt_cost.value,"
Js += "DataGrid1__ctl" + Trim(Str(e.Item.ItemIndex + 2)) + "_Txt_Itemno.value);"
Js += " window.opener=null;window.returnValue =a;window.close()}"
txt.Attributes.Add("onkeydown", Js)
Next i
End If
End Sub几年前写的那时候水平烂
都把js写在.vb里
我只想让datagrid刷新,能不能讲解下关键的地方cansum396 ?
用
window.opener.location.reload();
刷新
如果父窗口在此之前如果有过提交数据的动作,则会出现这么个讨厌的对话筐
“不重新发送信息,则无法刷新网页”
痛苦......
CSDN搜索未果(有几贴都是用Response.Redirect的方法,但我这里是刷父窗口)。
痛苦.
........
翻我的小本本 后找到办法
用
window.opener.location.href=window.opener.location.href
去刷新(其实是重定位了一下)父窗口
可行。
总结: 不能一棵树上掉死 :P