2012-05-14 53 views
-1

我想呈现将发送给用户的电子邮件模板中的超链接,并且如果用户单击该链接,它将指向唯一的URL。我给了下面的代码,在电子邮件模板中呈现超链接

email.AddMailmerge("RequestUrl", "<a href=" & ConfigurationManager.AppSettings("DomainName") & "/Requests/Requests.aspx?Company_ID=" & objCompany.IDHashed & ">Feedback Requests</a>") 

我的问题是链接无法正确解析并带我到正确的URL。我究竟做错了什么?

它解析为:

C:\用户\测试\桌面\本地主机/采购/ Requests.aspx COMPANY_ID = KirprZ17bg5u5Qf1

回答

1

确保您Appsetting包含HTTP://所以,而不只是

​​

它需要

http://localhost 
0

请务必使用引号来格式化href?不要依赖您的app.config的值(返回值为C:\),而是使用.NET方法获取当前的域/ URL。

Dim target As String = _ 
    String.Format("<a href='{0}/Requests/Requests.aspx?Company_ID={1}'>Feedback Requests</a>",_ 
        Request.Url.GetLeftPart(UriPartial.Authority),_ 
        objCompany.IDHashed) 
+0

转到相同的错误链接。不解决。 – Joshua

+0

那么你的'DomainName'的价值是什么?本地主机为 –

+0

。我们有两个网站进行测试,这就是为什么我们使用appsettings – Joshua

0
Dim strRequestLink As String = System.Configuration.ConfigurationManager.AppSettings("DomainName") & "/Requests/Requests.aspx?Company_ID=" & Me.ID & "&key=" & Me.IDHashed 
Dim strRequestUrl As String = "<a href=""http://" & strRequestLink & """>http://" & strRequestLink & "</a>" 

我使用上述格式。