1
在AS中:NET/Mono MVC2下面的表单Render a view as a string方法用于创建html电子邮件正文。如何在asp.net中呈现绝对URL mvc 2查看
Partiil视图Order.ascx包含像
<img width='20%' alt='' src='<%= Url.Action("Logo", "Store")%>' />
电子邮件中的图像出现不一样/Store/Logo
因而不显示图像的网站地址的图像。 如何强制图像链接出现绝对地址,如htttp:/Mysite.com/Store/Logo
或添加网站的基地址到HTML电子邮件正文是这个帮助。
使用ASP.NET/Mono MVC2,.NET 3.5,jquery,jquery ui。
控制器的操作方法:
var s = RenderViewToString<OrderConfirm>("~/Views/Checkout/Order.ascx", order);
public class ControllerBase : Controller
{
protected string RenderViewToString<T>(string viewPath, T model)
{
ViewData.Model = model;
using (var writer = new StringWriter())
{
var view = new WebFormView(viewPath);
var vdd = new ViewDataDictionary<T>(model);
var viewCxt = new ViewContext(ControllerContext, view, vdd, new TempDataDictionary(), writer);
viewCxt.View.Render(viewCxt, writer);
return writer.ToString();
}
}
同一视图也用于网站在浏览器中显示订单。在这种情况下,绝对地址也是浏览器。这个可以吗 ? – Andrus 2013-03-11 12:43:26
是的,没关系。没有问题。 – 2013-03-11 12:44:42
你只是不想对绝对URL进行硬编码,除此之外使用它们没有任何问题,所以只要它们生成了,每个链接都可以是绝对的。 – 2013-03-11 12:49:25