1

我正在尝试制作一个按钮或超链接来打开本地 html 文件。我已经尝试了一切,但没有一个不起作用。曾尝试使用 LinkBut​​ton、Button 和 Hyperlink。下面是我尝试过的代码。

byte[] buffer = (byte[])data.GetValue(i);
File.WriteAllBytes(@"C:\test.html", buffer);
//LinkButton sysInfo = new LinkButton();
//sysInfo.Text = "Please click to see more info";
//sysInfo.CommandName = "ID";
//sysInfo.CommandArgument = id.ToString();
//sysInfo.Command += new CommandEventHandler(sysInfo_Click);
//sysInfo.Click += new EventHandler(this.sysInfo_Click);

HyperLink link = new HyperLink();

link.Target = "_blank";
link.Text = "Please click to see more information";
link.Attributes.Add("onclick", "window.open('" + ResolveUrl("file:///c:/test.html") + "');");
link.NavigateUrl = ResolveUrl("file:///c:/test.html");
fieldCl.Controls.Add(link);
//sysInfo.Click += new EventHandler(sysInfo_Click);
//sysInfo.CommandName = "ID";
//sysInfo.CommandArgument = id.ToString();
//sysInfo.Command += new CommandEventHandler(sysInfo_Click);

我试图做的是在 sql server 中有 html 字节并检索字节以在 C:local 上创建文件。然后我想在新窗口上打开本地 html 文件。

检索字节并创建文件似乎没问题。但是当我使用超链接时,它什么也没做。我听说它不允许我打开本地文件。所以我尝试使用按钮,但是当我使用按钮并创建 Click 事件时,它甚至没有进入 Click 事件。

如果无论如何只打开文件而不保存,那就太好了,但如果不能,那也没关系。

4

1 回答 1

2

我只是把你的链接变成一个字符串。它只需要:c:\\test.html

一旦你把你的链接变成一个字符串,我会尝试:System.Diagnostics.Process.Start(link);

如果这不起作用,我会在您的代码中放置一个中断并获取字符串的内容 - 将其粘贴到您的地址栏中,看看会发生什么。

于 2013-01-10T21:34:44.383 回答