以下哪一项是通过RenderActioN返回HTML的正确方法?

时间:2013-06-18 18:12:18

标签: asp.net-mvc-4 razor

所以我有一个小的html表(Calendar),我需要返回页面。在父页面级别,我使用

@ {Html.RenderAction(“Calendar”,“GlobalShared”);}

现在,问题是我尝试了以下4种方式来返回html,它们都可以正常工作

1。串

        [ChildActionOnly]
        public String Calendar()
        { 
               return GetCalendarHTML()
        }

2。 MvcHtmlString

        [ChildActionOnly]
        public MvcHtmlString Calendar()
        { 
               return  MvcHtmlString.Create(GetCalendarHTML());
        }

3。 ContentResult类型

        [ChildActionOnly]
        public ActionResult Calendar()
        { 
               return  Content(GetCalendarHTML());
        }

4。 PartialViewResult

        [ChildActionOnly]
        public PartialViewResult Calendar()
        { 
               return  PartialView("_Calendar", GetCalendarHTML());
        }

        _Calendar.cshtml

        @model String
        @{
           Layout = null;
         }

         @Html.Raw(Model)

以正确的方式(或更好的方式)返回html以及为什么?

由于

1 个答案:

答案 0 :(得分:0)

PartialViewResult正是您所寻找的,因为它用于分解页面的组件并制作更小的部分,这是为其设计的。根据我的经验,这也是我所见过的很多。

http://msdn.microsoft.com/en-us/library/dd410269(v=vs.98).aspx

“渲染局部视图,该视图定义了可以在另一个视图中呈现的视图的一部分”