我正在尝试创建一个按钮或超链接来打开本地html文件。我已经尝试了一切,但没有一个不起作用。尝试使用LinkButton,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事件。
如果无论如何只是在没有保存的情况下打开文件,这将是很好的但如果不能,那就没问题。
答案 0 :(得分:2)
我会把你的链接变成一个字符串。它只需要:c:\\test.html
将链接转换为字符串后,我会尝试:System.Diagnostics.Process.Start(link);
如果这不起作用,我会在代码中放置一下并抓取字符串的内容 - 将其粘贴到地址栏中,看看会发生什么。