【发布时间】:2013-03-11 12:40:08
【问题描述】:
在 AS:NET / Mono MVC2 方法中,Render a view as a string 下面的表单用于创建 html 电子邮件正文。
部分视图 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();
}
}
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-2