Asp.net mvc 4 MVC4Razor-呈现HTML的最佳方式

Asp.net mvc 4 MVC4Razor-呈现HTML的最佳方式,asp.net-mvc-4,razor,html-rendering,Asp.net Mvc 4,Razor,Html Rendering,我已经开始使用MVC4-razor 在这方面,我找到了一些在某些操作上呈现HTML的方法 返回操作结果中的视图 根据我的数据在服务器端生成HTML,并将其作为JsonResult的参数返回 并将此HTML附加到正文中 返回JsonResult的数据参数,在客户端创建HTML并将其附加到正文中 我已经在我的应用程序中尝试了这三种方法,并且都正常工作 但是,对于复杂/繁重的HTML或大数据和性能而言,哪一种是最好的使用方式?取决于您的要求,我通常选择 解决方案1,使用ActionResult(Vie

我已经开始使用MVC4-razor

在这方面,我找到了一些在某些操作上呈现HTML的方法

  • 返回操作结果中的视图
  • 根据我的数据在服务器端生成HTML,并将其作为JsonResult的参数返回 并将此HTML附加到正文中
  • 返回JsonResult的数据参数,在客户端创建HTML并将其附加到正文中
  • 我已经在我的应用程序中尝试了这三种方法,并且都正常工作


    但是,对于复杂/繁重的HTML或大数据和性能而言,哪一种是最好的使用方式?

    取决于您的要求,我通常选择

    解决方案1,使用ActionResult(ViewResult)进行初始视图渲染,razor视图受益于@html扩展

    解决方案2可以作为ContentResult发送,因为它更像是“文本/html”,而不是“应用程序/json”

    解决方案3非常适用于ajax调用中的动态html,与一些模板引擎(如or)结合使用,可以使用非常薄的json负载呈现大量html


    希望这有帮助。

    根据您的要求,我通常会选择

    解决方案1,使用ActionResult(ViewResult)进行初始视图渲染,razor视图受益于@html扩展

    解决方案2可以作为ContentResult发送,因为它更像是“文本/html”,而不是“应用程序/json”

    解决方案3非常适用于ajax调用中的动态html,与一些模板引擎(如or)结合使用,可以使用非常薄的json负载呈现大量html


    希望这有帮助。

    +1喜欢删除不必要的JSON转换的建议。+1喜欢删除不必要的JSON转换的建议。