您的位置:首页 > 编程语言 > ASP

Asp.Net MVC 把PartialView、View转换成字符串

2012-01-15 19:28 513 查看
在开发中有时要在后台获得某个View 或者 PartialView 生成的字符串,只要你熟悉Asp.Net MVC  生命周期就能理解和敲出下面的代码。没什么高深的,直接上代码:

1,输出View HTML 字符串:

       ///
<summary>

        /// 描述:输出View HTML 字符串

        ///
</summary>

        ///
<param name="controller"></param>

        ///
<param name="viewName">视图文件名</param>

        ///
<param name="masterName">母板页文件名</param>

        ///
<returns></returns>
        protected
static string RenderViewToString(Controller controller,
string viewName, string masterName)

        {

            IView view = ViewEngines.Engines.FindView(controller.ControllerContext, viewName, masterName).View;

            using (StringWriter writer =
new StringWriter())

            {

                ViewContext viewContext = new ViewContext(controller.ControllerContext, view, controller.ViewData, controller.TempData, writer);

                viewContext.View.Render(viewContext, writer);

                return writer.ToString();

            }

        }
复制代码

2,输出PartialView HTML 字符串:

        ///
<summary>

        /// 描述:输出PartialView HTML 字符串

        ///
</summary>

        ///
<param name="controller"></param>

        ///
<param name="partialViewName">部分视图文件名</param>

        ///
<returns></returns>
        protected
static string RenderPartialViewToString(Controller controller,
string partialViewName)

        {

            IView view = ViewEngines.Engines.FindPartialView(controller.ControllerContext, partialViewName).View;

            using (StringWriter writer =
new StringWriter())

            {

                ViewContext viewContext = new ViewContext(controller.ControllerContext, view, controller.ViewData, controller.TempData, writer);

                viewContext.View.Render(viewContext, writer);

                return writer.ToString();

            }

        }
复制代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: