Comment ouvrir un fichier image ou pdf dans une nouvelle fenêtre?

J'ai un gridview il contient des noms de fichiers et le chemin de fichiers (image et fichiers au format pdf) en ce que j'ai utilisé un champ de modèle sous ce que j'ai mis 1 image buttoon. En cliquant sur ce bouton d'image, c'est-à-dire le bouton de visualisation, je souhaite ouvrir le fichier sélectionné dans une nouvelle fenêtre.

Voici mon code:

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>"); } 

Mais je ne pouvais pas ouvrir une nouvelle fenêtre. Mon chemin renvoie la même valeur que inside response.write (). Lorsque j'utilise juste response.write("images/UserDetails.pdf"); Comme exemple, il montrera la page pdf … mais le chemin complet ne prend pas. Aussi il montre '\' est faux dans response.write(); Alors comment utiliser le chemin complet réel pour afficher l'image ou le pdf dans une nouvelle fenêtre … aidez-moi, alors que window.open donne error.i ne peut pas écrire le chemin complet dans window.open puisque je reçois le chemin sélectionné depuis gridview.help please ….

Mon code 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); } } 

Il fonctionnera uniquement avec le chemin relatif. Pourquoi, en premier lieu, vous avez besoin de chemin? Également utilisateur Registerstartupscript pour la liaison de script à la page.

En réponse html, vous utilisez les chemins url. Ainsi, le chemin d'accès doit être une URL valide (absolue ou relative à l'application), ou lier au fichier: "fichier: // chemin / à / fichier", qui ouvre un navigateur de répertoire dans l'ordinateur.

Vous pouvez simplement mettre le contrôle HyperLink avec NavigateUrl avec target = "_ blank" ou certains javascript. Le lien vers le chemin du serveur absolu ne fonctionnera pas.

  Response.Write(string.Format("<script>window.open('{0}','_blank');</script>", "pdf/aaaa.PDF")); 

Lorsque vous liez votre FileLocationPath, essayez de le lier afin que votre nom de fichier

 D:\UploadedAttachment\AT\MRD\AT0520130008_15-05-13-03-57-12.pdf 

devenir

 file:///D:/UploadedAttachment/AT/MRD/AT0520130008_15-05-13-03-57-12.pdf 

La fonction abort () est probablement votre meilleur pari. Il fait partie de la bibliothèque standard C, et est défini comme «provoquant une interruption anormale du programme» (par exemple, une erreur fatale ou un accident).