我需要像这样的字符串渲染视图:
public class Controller : System.Web.Mvc.Controller
{
public ViewResult ViewList()
{
string html = "<div id=\"contentView\">";
html += Title(null);
html += GridControls(null);
html += FilterControls(null);
html += Grid(null, new Sibi.Seg.User().List(pagina));
html += "</div>";
return View(html );
}
}
然后我需要在Controller中返回View()时渲染此字符串,请参阅:
public ActionResult Index()
{
return ViewList();
}
答案 0 :(得分:1)
您可以使用控制器的Content方法。您的代码将如下所示:
public ActionResult ViewList()
{
string html = "<div id=\"contentView\">";
html += Title(null);
html += GridControls(null);
html += FilterControls(null);
html += Grid(null, new Sibi.Seg.User().List(pagina));
html += "</div>";
return Content(html, "text/html");
}
或者您可以将内部代码移动到静态类并从mvc视图调用静态方法,例如:
@{
Layout = null;
}
<div id="contentView">
@(Html.Raw(StaticMethods.Title(null)))
@(Html.Raw(StaticMethods.GridControls(null)))
@(Html.Raw(StaticMethods.FilterControls(null)))
@(Html.Raw(StaticMethods.Grid(null, new Sibi.Seg.User().List(pagina))))
</div>
这两种解决方案中的任何一种都会产生相同的结果。