1

我想单击超链接,文件(无论是什么文件)都应该在一个新的弹出窗口中打开。

这是我的代码:

 HyperLink link = new HyperLink();
 link.Text = dr.Dienstleistung.Dienstleistungsart.Dienstleister.Catering_Fax_Link;
 link.NavigateUrl = HttpContext.Current.Server.MapPath("~") + "\\CUSTOM\\Upload\\picture.png";
 cell.Controls.Add(link);

但它不适用于 NavigateUrl。如果我点击超链接没有任何反应。谁能帮我这个。谢谢

4

3 回答 3

3

MapPath给出物理路径而不是 url。此外,使用正确的斜线并将目标设置为空白,以便链接将在新窗口中打开。例如,

link.NavigateUrl = ResolveUrl("~/CUSTOM/Upload/picture.png");
link.Target = "_blank";
于 2013-01-08T07:42:16.707 回答
2

window.open您可以使用和不使用NavigateUrl属性在弹出窗口中打开文件。

link.Attributes.Add("onclick", "window.open('" + ResolveUrl("~/CUSTOM/Upload/picture.png") + "');");
于 2013-01-08T07:50:39.520 回答
1

NavigateUrl是您将向用户显示的 URL,而不是文件系统路径。在您的情况下,它应该是:

link.NavigateUrl = "~/CUSTOM/Upload/picture.png";
于 2013-01-08T07:41:00.783 回答