尝试使用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://”前缀。 干杯!
答案 0 :(得分:1)
offer.Hotel.Link是否包含“http://”或“https://”?这可能会有所不同。
当网址为空时,调用AddHyperlink()
有什么意义?