将webmail中的超链接转回mvc4项目

时间:2013-09-18 11:46:59

标签: asp.net-mvc-4

我有一个网络邮件,我希望用户按下网页邮件中的图片,然后链接回我的mvc项目视图。我还没有真正的域名,所以我无法输入www.mysite.com。我希望能够链接到视图,而不依赖于网站当前正在运行的域。

在我的网络邮箱中,我的主体看起来像这样:

string Body = "<b>Välj ett alternativ!</b><br><br><a href='cid:path4'/><img src='cid:Happy'/ alt='HTML tutorial' width='120' height='120'></a><input type='image' src='cid:Orange'/ name='image' width='120' height='120'><input type='image' src='cid:Mad'/ name='image' width='120' height='120'>";

其中cid:path4是我想要的网址,以便将我链接到我的项目。

1 个答案:

答案 0 :(得分:1)

您必须将控制器操作中的绝对路径格式化为正文文本(或将其传递给生成正文的任何​​方法):

var path = Request.Uri.AbsoluteUri;
var emailBody = String.Format("Your email body. <a href=\"{0}\">Link</a>", path);

或者,您可以使用Url.Action链接到另一个控制器操作:

var path = Url.Action("MyAction", "MyController", null, "http");
var emailBody = String.Format("Your email body. <a href=\"{0}\">Link</a>", path);

当然,这一切都假定此电子邮件是由控制器操作发送的 - 如果不是,则可能无法确定网站的绝对URI。