一个Asp.net的大难题:( 现在的ASP.NET好像不行吧,使用客户端脚本吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这不就是页面刷新问题吗?在一个frame里刷新另一个frame中的页面问题吗? <a target="框架名" href="x.aspx">link</a> 先谢谢大家的热情参与,问题没有那么简单,还请各位出注意。我在titl.aspx里面有个datagrid,选中其中的一项,要求在body.aspx里面的listbox里面显示相应的数据列表。这是客户定的,不是很好改变设计。有没有替代方法,模拟类似的效果。 先在title.aspx 中取出datagrid 中的ID,然后用session[] 或者chche[]存下来,然后刷新body.aspx ,在body.aspx 的pageload事件中写如下代码if (Session["sid"]!=null) { ...... DataList.DataBind();}我再不同页面之间都是这么做的! datagrid里,可以用超连接,然后用target属性定位到另一个frame.通过超连接的参数,另一页就知道入参,就可以进行相应操作了。 楼上的不可行:)你这个方法只是可以实现本框架页面的传递,不通框架的页面传递是没有办法实现的只能看看能不能用客户端。你的方法问题在于,如果先在title.aspx 中取出datagrid 中的ID,然后用session[] 或者chche[]存下来,怎么去刷新啊,如果在cs文件里面做的话,不能操作其它框架,如果在html中操作的话很难实现:)这个只是代表个人观点:) sgp1201(无为)的方法是可以实现的。先取出title.aspx也面中的ID,然后用session[] 或者chche[]存下来,然后利用Response.Write("<script language=javascript>window.body.location.reload();</script>");实现刷新。再在Body里获取 Session[]值 CS里头同样可行,将访问另一个框架的客户端脚本Response出来啊。 用javascript,没别的办法.Response.Write("<script language=javascript>window.body.location.reload();</script>"); 应该说这个不过是非常简单的html或者js问题。没想到在.net中竟让大家觉得这么困难。 sgp1201(无为) 说的可以,我也都是这样做的 我是用session在页面之间进行参数传递,接收方在接到参数后清空session就可以了 必须用javascript来调用body中的客户端事件来处罚 title.aspx中,当选中DataGrid的一行后,在服务器端用Response.Write("<script language=Javascript>parent.frames[1].document.location=body.aspx?id=选中的DataGrid行的id;</script>"),在body.aspx中通过Request.QueryString方法获取通过url传递的参数,然后自己该知道怎么处理了。注意:上面的客户端脚本无需用RegisterClientScriptBlock或RegisterStartupScript方法注册,直接用Response.Write出来,这样脚本在页面的最前方,当title.aspx刷新后加载的时候,body.aspx也同时加载了。 可以放置linkbutton,设置title.aspx中form的target=右边的框架名 同意 webdiyer(陕北吴旗娃) 的方法 <frame src="title.aspx">假设类为A,有方法fun<frame src="body.aspx">假设类为B,有时间eve现在需要B的eve事件调用A.funB.eve事件里:{ A a = this.Parent.Aid;//你找到a这个实例先,不管用什么方法,脚本也可以,其实最好有指针就好了 a.fun();}好象我说得太简单了。其实确实很简单,不要想复杂了 我遇到的情况,希望有用左边是treeview,右边是datagrid,点左边刷右边在treeview中加了Tvw.Attributes.Add("onclick","gotourl();");<script>function gotourl(){ parent.PersonTypeFrame.location.href=Tvw.getTreeNode(Tvw.clickedNodeIndex).getAttribute("NodeData");}</script>其中NodeData中放了,什么"xx.aspx?a=1&b=2"之类的在datagrid中用Response.QueryString["a"]取值就可以了 就是webdiyer(陕北吴旗娃)的方法啊我前两天刚做过 private void cmd1hour_Click(object sender, System.EventArgs e) { if (gid.Length >0) { temp="Time>='"+CharDeal.GetAddTime("hour",-1)+"'"; Response.Write(CharDeal.Topgourl("LiveTrend.aspx?gid="+gid+"&mid="+mid+"&mtype="+mtype+"&wherestr="+temp+"&mname="+mname,"main")); } else { Response.Write(CharDeal.Showmsgbox("请选择检测器")); } }//指定某一框架显示某页 public static string Topgourl(string url,string framename) { string temp; temp="<script language=javascript >" +"\r\n"; temp=temp+"top.frames(\""+framename+"\").location=\""+ url +"\"\r\n"; temp=temp+"</script>"; return temp; } 用webdiyer(陕北吴旗娃)的方法可行,我在交警的考试程序上实现了 title.apx 的datagrid加模版列,在模版列里加超级链接。这个超级链接的target指向body.aspx, url 用 body.aspx?id=xxxx形式。body.aspx根据Request["id"]来判断 datagrid点击的那一列设为连接列,然后通过参数连接到下面框架里,在下面框架里用接收到的参数绑定list 呵呵,多谢大家的参与,我采用的是 webdiyer(陕北吴旗娃) 的方法,比较方便.^_^好高兴呀 跳转页面并传值 关于Js文件的问题 【散分五】【纪念CSDN曾经的辉煌】 关于提取HTML指定内容的正则表达式 内蒙古软件承接 推荐使用Visual studio.net2003环境开发asp.net的书? Table自动折行的问题 GridView使用ButtonField实现页面跳转 使用了诸如response,request等对象的时候出现的奇怪问题 在线等本机调试本机没装net编译工具 把一个表的内容复制到另一个表时出现的问题:sql语句参数必须唯一? 关于Visual Studio.net 2003的安装问题:
if (Session["sid"]!=null)
{
......
DataList.DataBind();
}
我再不同页面之间都是这么做的!
通过超连接的参数,另一页就知道入参,就可以进行相应操作了。
Response.Write("<script language=javascript>window.body.location.reload();</script>");
注意:上面的客户端脚本无需用RegisterClientScriptBlock或RegisterStartupScript方法注册,直接用Response.Write出来,这样脚本在页面的最前方,当title.aspx刷新后加载的时候,body.aspx也同时加载了。
<frame src="body.aspx">假设类为B,有时间eve
现在需要B的eve事件调用A.fun
B.eve事件里:
{
A a = this.Parent.Aid;//你找到a这个实例先,不管用什么方法,脚本也可以,其实最好有指针就好了
a.fun();
}好象我说得太简单了。其实确实很简单,不要想复杂了
左边是treeview,右边是datagrid,点左边刷右边
在treeview中加了
Tvw.Attributes.Add("onclick","gotourl();");
<script>
function gotourl(){
parent.PersonTypeFrame.location.href=Tvw.getTreeNode(Tvw.clickedNodeIndex).getAttribute("NodeData");
}
</script>
其中NodeData中放了,什么"xx.aspx?a=1&b=2"之类的
在datagrid中用Response.QueryString["a"]取值就可以了
我前两天刚做过
{
if (gid.Length >0)
{
temp="Time>='"+CharDeal.GetAddTime("hour",-1)+"'";
Response.Write(CharDeal.Topgourl("LiveTrend.aspx?gid="+gid+"&mid="+mid+"&mtype="+mtype+"&wherestr="+temp+"&mname="+mname,"main"));
}
else
{
Response.Write(CharDeal.Showmsgbox("请选择检测器"));
}
}
//指定某一框架显示某页
public static string Topgourl(string url,string framename)
{
string temp;
temp="<script language=javascript >" +"\r\n";
temp=temp+"top.frames(\""+framename+"\").location=\""+ url +"\"\r\n";
temp=temp+"</script>";
return temp;
}
body.aspx根据Request["id"]来判断
^_^好高兴呀