无法在asp.net网络表单中打开本地保存的pdf

时间:2018-07-04 05:13:49

标签: asp.net pdf gridview linkbutton templatefield

我在这里使用的gridview在不同的模板字段中有许多链接按钮,它们在做各种不同的事情。但是,此特定的LinkBut​​ton必须在单击时打开本地保存的pdf,这是没有发生的。

.aspx:

 <asp:TemplateField>
      <ItemTemplate>
         <asp:LinkButton ID="lbViewPaper" runat="server" CommandName="viewpaper" CommandArgument='<%#Eval ("name") %>' >View Paper</asp:LinkButton>
       </ItemTemplate>
 </asp:TemplateField>

名称是pdf文件的名称,也是表示数据库中相同名称的列。

其背后的代码如下:

protected void gvPaper_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "viewpaper")
    {
        {

            LinkButton lbViewPaper = sender as LinkButton;
            //GridView row = lbViewPaper.NamingContainer as GridViewRow;
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString);
            DataTable dt = new DataTable();
            using (SqlDataAdapter sda = new SqlDataAdapter("select path from tblQPaper where name='" + e.CommandArgument.ToString().Trim() + "' and uploader= '" + Session["user"] + "'", con))
            {
                sda.Fill(dt);
            }
            string urlName = dt.Rows[0]["path"].ToString();

            //// Removing the Page Name

            ////Adding FolderName and FileName in the URL
            Response.Write(urlName);                    //URL is being returned correctly here
            string script = "<script type='text/javascript'>window.open('" + urlName + "')</script>";
            this.ClientScript.RegisterStartupScript(this.GetType(), "script", script);

        }
    }
}

我知道我的查询很糟糕,将来会使用参数化的方法。

单击按钮后,将打开一个带有“ about:blank”的新标签。没有显示任何内容,浏览器也未加载该URL。

任何帮助将不胜感激!谢谢!

0 个答案:

没有答案