Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));
//这里的filename可以输出时自定义,不一定用原来的.
Response.TransmitFile(filePath_ystp);
Response.Flush();
Response.Close();
上面这段是弹出保存文件对话框,保存文件后页能不能刷新,请问,怎么做使父页面刷新,请高手帮忙..
解决方案 »
- jquery index()的问题帮我看下这行代码错在哪,在线等
- 大家帮我看看我的网站是哪里有问题
- 如何实现点击DropDownList后下面出现一个Calendar,选择日期后DropDownList中内容即为选择的日期?请高手指教。
- 谁写一下一个完整的显示新闻内容的代码我看看,谢谢大吓们啊,我菜鸟,真不好意思!
- 50分求解 Duwamish 7.0cs简单的问题,马上结
- 数据库表里的数据是繁体字,怎么在网页中显示为简体字?asp.net页面,急!!!!
- .NET好的站点推荐
- 如何自动登陆下拉地址栏
- 如何把数据库中的ID值与DropDownList的项相关联?
- 紧急需要解答!!!
- 问高手一个动态生成控件的问题
- 在js或者mshtml中怎么捕获文档内容变化的事件
Response.Close();
后transfer到其它页面去。
执行的顺序将是:父页面的pageload -》子页面的pageload-》子页面关闭按钮的事件对应处理方法。
不能直接弹出aspx页面,这样得到父页面,在关闭弹出框时,将会新出一个和弹出页面一样的不是弹出框的页面。解决办法是弹出html页面,在html页面里用ifrmae嵌入aspx页面示例
<iframe id="ifm" width="100%" height="100%"></iframe>。
这里就需要用js处理从父页面传来的参数了
方法是先在html里面取得参数,然后结合url给iframe的src赋值实例代码:
<script type="text/javascript">
function SeIfmtUrl()
{
var str=location.href.toString().toLowerCase(); //获得浏览器地址栏URL串
var num=str.indexOf("?")
str=str.substr(num); //截取“?”后面的参数串
var ifm=document.getElementById("ifm");
ifm.src="ProductList.aspx"+str;
}
</script>在加载完成之后即在body之前再执行方法
</body>
<script type="text/javascript">
SeIfmtUrl();
</script>
。对于子页面关闭并处理业务的按钮,在处理完成之后
执行 Response.Write("<script>window.close()</script>");
示例:protected void Button3_Click1(object sender, EventArgs e)
{
//do what you want
Response.Write("<script>window.close()</script>");
}
下面给出父页面的关键示例:
弹出模式对话框
<script type="text/javascript">
function ShowModel(id)
{
window.showModalDialog('HTMLPage1.htm?id='+id,'','dialogWidth:35;dialogHeight:20');
}
</script>父页面触发弹出框的button设置
<asp:Button ID="Button2" runat="server" CommandName="D" %>' Text="弹出" OnClientClick="ShowModel('100');"/>
button设置下面的示例是button在gridview中,注意那个commandname,是为了唤醒服务器处理click事件,不然父页面得不到执行,或者是执行的顺序不是先子页面处理完毕再处理父页面。
Response.Write(" <script>window.close() </script>");
放在后面不起作用 还有没有别的方法
this.Response.Write(" <script language='javascript'>window.opener.location.reload();window.close(); </script>");
这句代码是跑了..但在父页面 一些控件的值没有刷新,还没有别的方法
对父窗体的控件在重新绑定一下就可以了具体:
在父窗体的.aspx页面加:
<input id="HiddenRefresh" name="HiddenRefresh" style="width: 1px" type="hidden" />
在父窗体的.aspx.cs页面加: protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//绑定数据,如this.Bind_Data();
}
else
{
//操作返回刷新
if (Request.Form["HiddenRefresh"] != null)
{
if (Request.Form["HiddenRefresh"].ToString() == "pleasefresh")
{
//绑定数据this.Bind_Data();
}
}
}
}然后用这个就能够实现操作后的刷新父窗体了:
this.Response.Write(" <script language='javascript'>window.opener.form1.HiddenRefresh.value = 'pleasefresh'; window.opener.form1.submit();setTimeout('window.close()',100); </script>");