我之前找到过有关如何将 MVC 4 视图渲染为字符串的答案。但是,我开始使用视觉工作室2013而现在的结果并不如预期。见下文。
<$A$><$B$> <$C$> class="panel"<$D$>> <$E$> class="cover-wrapper"<$F$>> <$G$> href="
<$H$>/book/<$I$><$J$>1<$K$><$L$>/<$M$>"<$N$>><$O$> src="<$P$>http://www.
example.com/images/image.jpg<$Q$>"<$R$> class="cover"<$S$> /> <$T$> href="<$U$>
<$V$>"<$W$> target="_blank"<$X$> rel="nofollow"<$Y$> class="amazon-button"<$Z$>> <$a$>
class="amazon-cart"<$b$>> Link →
<$c$> class="content"<$d$>>..........
正在使用的代码是这样的:
public string RenderRazorViewToString(string viewName, object model)
{
ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
知道为什么所有字母和美元符号现在都显示出来,或者我需要如何更改我的代码才能让它为我提供可用的 html?
这实际上是我在夏天遇到的一个错误,请参阅此处的错误报告和 Microsoft 的响应错误和解决方法。好消息是,根据 MS 的说法,在 VS2013 发布时应该会修复该问题。
解决方法是禁用浏览器链接功能,请参阅此处浏览器链接功能
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)