我有一个网络邮件,我希望用户按下网页邮件中的图片,然后链接回我的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是我想要的网址,以便将我链接到我的项目。
答案 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。