2016-06-23 12 views
0

Ich habe eine text Datei in meinem lokalen Laufwerk. Ich möchte den Inhalt in einem neuen Tab anzeigen.Öffnen Sie eine Textdatei in der neuen Registerkarte

habe ich versucht, die folgende

1.

string fileName = @"C:\MyFile.log"; 
    Page.ClientScript.RegisterStartupScript(GetType(), "windowKey", "window.open('" + fileName + "');", true); 

2.

Response.Write("<script>"); 
    Response.Write("window.open('C:\\MyFile.log', '_newtab');"); 
    Response.Write("</script>"); 

dieser offenen Sowohl in neuen Tab Versuchen Versuchen aber die Daten innerhalb der Datei ist nicht angezeigt

Nach einiger Suche fand ich diese

FileStream MyFileStream = new FileStream(@"C:\MyFile.log", FileMode.Open); 
    long FileSize; 
    FileSize = MyFileStream.Length; 
    byte[] Buffer = new byte[(int)FileSize]; 
    MyFileStream.Read(Buffer, 0, (int)MyFileStream.Length); 
    MyFileStream.Close(); 
    Response.ContentType = "text/plain"; 
    Response.AddHeader("content-disposition", "inline; filename=sample.txt"); 
    Response.BinaryWrite(Buffer); 

Dies ist der Inhalt meiner Datei angezeigt werden, sondern zusammen mit, dass es auch meine aspx Seite angezeigt wird

Also meine Frage ist, wie man zeigen eine Textdatei in einem neuen Tab

+0

@madalinivascu in Ordnung, können Sie mir sagen, wie ich meinen Weg –

+0

Sie mit einem href verwenden Sie einen Link angeben möchten, dass Sie eine Seite zu einem anderen lol verlinken – madalinivascu

+0

@madalinivascu ich diesen 'link versucht haben,' und bekam den Fehler in der ' Konsole 'als ** Lokale Ressource darf nicht geladen werden ** –

Antwort

0

diese Schritte versuchen

  • Erstellen Sie eine log.aspx und fügen Sie den Code aus dem dritten Snippet hinzu.
  • Verwendung 1. oder 2. Snippet in dem neuen Fenster zu öffnen log.aspx (tab)

auf diese Weise sollte es funktionieren.

+0

zu setzen, ich möchte nicht ein anderes 'aspx' dafür verursachen –

0

Ich habe wie folgt versucht:

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Test.Default" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:ScriptManager runat="server"></asp:ScriptManager> 
     <asp:Button id="btnShowContent" Text="Show me the text" runat="server" OnClick="btnShowContent_Click" /> 
    </div> 
    </form> 
</body> 
</html> 

Default.aspx.cs

protected void btnShowContent_Click(object sender, EventArgs e) 
{ 
    ScriptManager.RegisterStartupScript(this, typeof(string), "OpenTextFile", "Javascript:window.open('Resources/test.txt');", true); 
} 

Sie müssen nur Ihren Dateipfad aktualisieren. Hoffe, das ist was du willst.

Verwandte Themen