L'ouverture d'une nouvelle Fenêtre de Code-behind ASP.net
J'ai le code suivant:
protected void Page_Load(object sender, EventArgs e)
{
byte[] buffer = null;
buffer = File.ReadAllBytes("C:\\myfile.pdf");
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.OutputStream.Write(buffer, 0, buffer.Length);
HttpContext.Current.Response.End();
}
Je veux ouvrir une deuxième fenêtre pour le fichier pfd à côté de la page en cours, où le pageload vient de.
OriginalL'auteur fubo | 2012-11-15
Vous devez vous connecter pour publier un commentaire.
Pour ce faire, vous aurez besoin de télécharger le document PDF vers un chemin d'accès dans l'application où il peut être présenté à l'utilisateur, puis inscrivez-vous un peu de javascript pour ouvrir le fichier PDF dans une nouvelle fenêtre:
Ouais ils auraient, je suis un peu en espérant que les fichiers Pdf ne sont pas enregistrés sur le serveur dans un endroit où ils avaient besoin d'être déplacé ou copié et que c'était juste un exemple. Peut-être qu'il obtient le fichier à partir d'un asp:contrôle FileUpload? De toute façon, il donne quelques informations utiles, et l'inscription de scripts comme cela peut être très utile parfois,=]
je l'ai résolu un peu différente, mais l'astuce avec l'enregistrés script a été la clé
OriginalL'auteur Sean Airey
Il n'existe aucun moyen pour ouvrir une nouvelle fenêtre à partir d'un fichier code-behind. Le lien de la page sur laquelle cet événement Page_Load est en cours de licenciement doit avoir la
target="_blank"
attribut pour l'ouvrir dans une nouvelle fenêtre. Par exemple:<a href="DownloadPdf.aspx" target="_blank">Download PDF<a>
Sur une note de côté, si c'est la seule fonction de votre fichier ASPX, vous pouvez envisager d'utiliser un HttpHandler à la place.
Yep, vous pouvez définir la cible et le nom d'une autre fenêtre.
OriginalL'auteur Mun
Vous ne pouvez pas le faire à partir de la réponse.
Si vous avez le contrôle de la lien hypertexte qui conduit à ce chargement de la page, vous pouvez lui donner un attrbute
target="_blank"
, qui vous demandera le navigateur pour ouvrir le lien dans une nouvelle fenêtre.OriginalL'auteur Rawling