【问题标题】:HtmlAnchor control not opening in new windowHtmlAnchor 控件未在新窗口中打开
【发布时间】:2015-03-27 01:12:10
【问题描述】:

我有以下代码来动态创建HtmlAnchor 并分配其HRef 属性。当我右键单击链接并执行“目标另存为”时,它正在下载 pdf,但单击链接时未在新选项卡中打开。

 HtmlAnchor htmlanc = new HtmlAnchor();
 htmlanc.HRef = "file:\\arts\Shared\Let";
 htmlanc.Title = "Letter Link"; 
 htmlanc.InnerText = "file:\\arts\Shared\Let";
 htmlanc.Target = "_blank";                               
 pnlLet.Controls.Add(htmlanc);

当我点击链接时,会生成一个错误,如下图所示。

并且路径位于共享的网络文件夹中。是否因为我的应用程序无法访问路径而产生错误。我与网络人员核实过,但他们说该应用程序可以完全访问网络共享文件夹,但我对此表示怀疑。

【问题讨论】:

  • 页面上生成的输出是什么?是否包括target="_blank"
  • 它将在新标签页中打开一个 pdf 文件。
  • target="_blank" 确定左键单击时是否在新选项卡中打开链接。我很好奇这是否在输出中呈现。
  • @Kami 的意思是当您在网页上右键单击查看源代码您在<a href ... /> 元素中看到什么. target="..." 是否正确设置为 _blank
  • 左键单击时没有任何反应。当我右键单击并选择在新窗口中打开时,它也没有打开。但是当我通过右键单击“将目标另存为”时,它正在下载 pdf 文件。是的,目标设置为 _blank

标签: c# html .net


【解决方案1】:

我希望这是一条评论,但您似乎很难理解我们的帮助,所以我想在这里扩展它。

我已经复制了您的代码示例,并在 Page_Load 上添加了一个空白 WebForms 解决方案。

protected void Page_Load(object sender, EventArgs e)
{
    var htmlanc = new HtmlAnchor();
    htmlanc.HRef = "http://stackoverflow.com/questions/29281667/htmlanchor-control-not-opening-in-new-window";
    htmlanc.Title = "Open Question";
    htmlanc.InnerText = "Open Question";
    htmlanc.Target = "_blank";
    Controls.Add(htmlanc);
}

运行它时,您可以右键单击该链接:

然后你可以看到所有的属性并看到target="_blank"

当我单击此链接时,它会正确显示在新标签中。如果您按照上述步骤操作,您是否可以检查您的链接是否设置了正确的target 并展开单击它时会发生什么?根据您的浏览器,它可能会设置为根据 mime 类型下载,而不是打开新标签等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    相关资源
    最近更新 更多