如何防止因为在网格视图中单击链接按钮并在asp.net中下载文件代码时刷新我的页面 [英] how to prevent as My page is being refreshed while clicking on a linkbutton in grid view with downloading file code in asp.net

查看:45
本文介绍了如何防止因为在网格视图中单击链接按钮并在asp.net中下载文件代码时刷新我的页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


protected void Page_Load(object sender, EventArgs e)
 {
     //START
     obj_SASUserBAL.ChecksecurityBAL(obj_SASUserBO, Request, Response, Session);
     obj_SASUserBO.UserName = Session["userid"].ToString();
     obj_SASUserBAL.CheckAccessBAL(obj_SASUserBO, Response, p_var);

     //END

     if (!IsPostBack)
     {
         //CSRF

         Tokenvalue = bl.GetRandomCSRFVector(32);
         Session["CSRFVector"] = Tokenvalue;
         User_CSRFVector.Value = Tokenvalue;

         //
         bindMessages();
     }

     s1 = User_CSRFVector.Value;
     s2 = Session["CSRFVector"].ToString();
     if (s2 != s1)
     {
         Response.Redirect("~/Error1.html");
         return;

     }
     else
     {
         Tokenvalue = bl.GetRandomCSRFVector(32);
         Session["CSRFVector"] = Tokenvalue;
         User_CSRFVector.Value = Tokenvalue;
     }
 }




protected void downloadfile(object sender, EventArgs e)
  {

 


          LinkButton btn = (LinkButton)(sender);
          string strURL = "~/writereaddata/messages/" + btn.Text.Trim();

               Response.Redirect("~/Handler.ashx?fname=" + btn.Text.Trim());
            if (File.Exists(Server.MapPath(strURL)))
            {

                System.Net.WebClient req = new System.Net.WebClient();
                HttpResponse response = HttpContext.Current.Response;
                response.Clear();
                response.ClearContent();
                response.ClearHeaders();
                response.Buffer = true;
                response.AddHeader("Content-Disposition", "attachment;filename=\"" + Server.MapPath(strURL) + "\"");
                response.AppendHeader("Content-Disposition", "attachment;filename=" + btn.Text.Trim());
                byte[] data = req.DownloadData(Server.MapPath(strURL));
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                response.BinaryWrite(data);
                response.End();
            }

  }

推荐答案

you can use updatepanel in asp.net
add this in your .aspx page
<pre lang="c#">

  <asp:UpdatePanel ID="Upnl" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
               //Here is your gridView
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="LinkButtonID" />
            </Triggers>
        </asp:UpdatePanel></pre>

这篇关于如何防止因为在网格视图中单击链接按钮并在asp.net中下载文件代码时刷新我的页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆