gpt4 book ai didi

c# - 如何在新窗口打开图片或pdf文件?

转载 作者:行者123 更新时间:2023-11-29 17:17:06 25 4
gpt4 key购买 nike

我有一个 gridview,它包含文件名和文件路径(图像和 pdf 格式文件),我在其中使用了模板字段,我在该字段下放置了 1 个图像按钮。单击该图像按钮即查看按钮我想在新窗口中打开选定的文件。

这是我的代码:

protected void GVViewFile_SelectedIndexChanged(object sender, EventArgs e)
{
int id = GVViewFile.SelectedIndex;
string path = GVViewFile.Rows[id].Cells[2].Text.ToString();

Response.Redirect("D:\UploadedAttachment\AT\MRD\AT0520130008_15-05-13-03-57-12.pdf");

Response.Write("<script>");
Response.Write("window.open('" + path + "','_blank', ' fullscreen=yes')");
//Response.Write("window.open(" + path + ",'_blank')");
Response.Write("</script>");

}

但我无法在新窗口中打开。我的路径返回与内部 response.write() 相同的值。当我仅使用 response.write("images/UserDetails.pdf"); 作为示例时,它将显示 pdf 页面..但未采用完整路径。它还显示 '\'response.write(); 中是错误的,所以如何使用实际的完整路径在新窗口中显示图像或 pdf..请帮助我。即使那个 window.open 也给出了错误。我无法在 window.open 中写入完整路径,因为我正在从 gridview.help 中获取选定的路径....

我的 GridView 代码:

 <asp:GridView ID="GVViewFile" runat="server" AutoGenerateColumns="False" 
DataSourceID="DSforgridview" onselectedindexchanged="GVViewFile_SelectedIndexChanged"
HeaderStyle-BackColor="#CC6600" HeaderStyle-ForeColor="White"
PagerStyle-BackColor="#CC6600" PagerStyle-ForeColor="White" CellPadding="3"
CellSpacing="3" PagerStyle-Width="4" PagerStyle-Height="4"
BorderColor="#FF6600" BorderStyle="Solid">
<Columns>
<asp:TemplateField ShowHeader="false">
<ItemTemplate>
<asp:ImageButton ID="btnView" runat="server"
CausesValidation="False" CommandName="Select"
ImageUrl="~/Images/view.gif" ToolTip="View File" />
</ItemTemplate>
</asp:TemplateField>

<asp:BoundField DataField="FileType" HeaderText="FileType"
SortExpression="FileType" />
<asp:BoundField DataField="FileLocationPath" HeaderText="FileLocationPath"
SortExpression="FileLocationPath" />
</Columns>
<HeaderStyle BackColor="#CC6600" ForeColor="White"></HeaderStyle>
<EmptyDataTemplate>No Records Found.</EmptyDataTemplate>
</asp:GridView>

最佳答案

//In Default2.aspx
protected void LinkButton1_Click(object sender, EventArgs e)
{
Response.Write(string.Format("<script>window.open('{0}','_blank');</script>", "Default3.aspx"));
}

//------------
//In Default3.aspx

protected void Page_Load(object sender, EventArgs e)
{
string path = Server.MapPath("~\\E:\\karthikeyan\\venky\\pdf\\aaaa.PDF");
WebClient client = new WebClient();
Byte[] buffer = client.DownloadData(path);
if (buffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", buffer.Length.ToString());
Response.BinaryWrite(buffer);
}
}

关于c# - 如何在新窗口打开图片或pdf文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16579410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com