我的本地驱动器中有一个text
文件。我想在新标签中显示它的内容。
我试过以下
第一次尝试
string fileName = @"C:\MyFile.log";
Page.ClientScript.RegisterStartupScript(GetType(), "windowKey", "window.open('" + fileName + "');", true);
第二次尝试
Response.Write("<script>");
Response.Write("window.open('C:\\MyFile.log', '_newtab');");
Response.Write("</script>");
这两个都在新标签页中打开,但文件中的数据未显示
经过一番搜索,我发现了这个
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);
这是在我的文件中显示内容,但同时显示我的aspx
页面
所以我的问题是如何在新标签页中显示文字文件
答案 0 :(得分:0)
尝试这些步骤
它应该有效。
答案 1 :(得分:0)
我试过这样的话:
<强> 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);
}
您只需更新文件路径即可。 希望这是你想要的。