使用Migradoc Hyperlink对象时为什么会生成错误的链接?

时间:2013-10-26 18:21:13

标签: hyperlink pdfsharp migradoc

尝试使用Migradoc在PDF上呈现Weblink时,我遇到了一个奇怪的问题。

Paragraph hotelP = cell.AddParagraph(offer.Hotel.CompanyName.ToString());
hotelP.AddLineBreak();
Hyperlink hyperlink = hotelP.AddHyperlink(String.IsNullOrEmpty(offer.Hotel.Link) ? "" : offer.Hotel.Link, HyperlinkType.Web);
hyperlink.AddFormattedText(String.IsNullOrEmpty(offer.Hotel.Link) ? "" : offer.Hotel.Link.ToString(), "WebLink");

虽然这会正确呈现,但它尝试访问的链接是项目的文件:///...bin/Debug(或Release)/www.theActualLink.org文件夹中的文件链接。

知道为什么会这样吗?根据PDFSharp论坛,代码片段应该是正确的方法。

编辑: 好的,多亏托马斯,我已将代码更改为:

if (!String.IsNullOrEmpty(offer.Hotel.Link))
{
     Hyperlink hyperlink = hotelP.AddHyperlink("http://" + offer.Hotel.Link, HyperlinkType.Web);
     hyperlink.AddFormattedText(offer.Hotel.Link, "WebLink");
}

这不是最终的代码,但它现在可以正常工作,因为链接上有“http://”前缀。 干杯!

1 个答案:

答案 0 :(得分:1)

offer.Hotel.Link是否包含“http://”或“https://”?这可能会有所不同。

当网址为空时,调用AddHyperlink()有什么意义?