动态添加超链接或按钮以打开本地文件?

时间:2013-01-10 21:31:03

标签: c# asp.net

我正在尝试创建一个按钮或超链接来打开本地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事件。

如果无论如何只是在没有保存的情况下打开文件,这将是很好的但如果不能,那就没问题。

1 个答案:

答案 0 :(得分:2)

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

将链接转换为字符串后,我会尝试:System.Diagnostics.Process.Start(link);

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