Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NETMVC3在主页视图上组织内容_Asp.net_Asp.net Mvc 3 - Fatal编程技术网

ASP.NETMVC3在主页视图上组织内容

ASP.NETMVC3在主页视图上组织内容,asp.net,asp.net-mvc-3,Asp.net,Asp.net Mvc 3,作为asp.net和MVC3的新手,我一直在积极地在线学习如何使用经典asp实现这些目标。到目前为止,我能够在控制器中基于linq查询进行mono视图。我的问题是在一个典型的web应用程序主页中,您正在显示来自不同查询的不同内容,这在MVC3中是如何实现的。我的问题可能听起来很傻,但这是我现在面临的唯一障碍。到目前为止,使用经典ASP,我使用包含文件来组织页面中的内容。我听到了一些片面的观点,但不确定这是否是一条正确的道路。如果您能帮助我,请给出一个示例,说明如何在主页中显示具有不同内容的两个视

作为asp.net和MVC3的新手,我一直在积极地在线学习如何使用经典asp实现这些目标。到目前为止,我能够在控制器中基于linq查询进行mono视图。我的问题是在一个典型的web应用程序主页中,您正在显示来自不同查询的不同内容,这在MVC3中是如何实现的。我的问题可能听起来很傻,但这是我现在面临的唯一障碍。到目前为止,使用经典ASP,我使用包含文件来组织页面中的内容。我听到了一些片面的观点,但不确定这是否是一条正确的道路。如果您能帮助我,请给出一个示例,说明如何在主页中显示具有不同内容的两个视图。例如,主要部分显示来自commentscontroller的最近评论视图,而次要部分显示来自news controller的最近新闻标题视图。如果你能为我指出正确的方向,我也将不胜感激。我知道我自己有很多东西要学,但有时专家的一些指导可以帮你节省几周的学习时间。

没有比它包含所有代码示例、说明和关于特定功能如何工作的良好描述更好的学习基础资源了。您可能对第10章最感兴趣,该章介绍了布局和局部视图。如果您想使用单独的视图呈现不同(不相关)的内容,ASP.NET MVC中有两个选项:

  • 渲染部分
  • 渲染
  • 在第一种情况下,我们在单个操作中收集所有数据(例如,
    HomeController.Index()
    ),将聚合视图模型对象传递给视图,然后从视图调用
    RenderPartial
    ,传递数据:

    <div id="comments">
      @Html.RenderPartial("Comments", Model.Comments)
    </div>
    <div>
      @Html.RenderPartial("News", Model.Headlines)
    </div>
    
    现在我们分别调用
    CommentsController
    NewsController
    来呈现部分视图结果。我们已经有效地将获取评论和新闻标题的问题分离到不同的控制器中。
    HomeController
    不再需要向我们的主页视图提供数据

    为了实现这一点,通过RenderAction调用的操作理想情况下应该返回一个
    PartialViewResult

    public PartialViewResult Headlines( )
    {
      string[] headlines = ...;
      return PartialView("Headlines", headlines);
    }
    

    非常感谢@michielvoo,你无法想象你的回答为我节省了多少时间。感谢@torm的指导,我一定会查阅该链接,以了解剩下的填充信息
    public PartialViewResult Headlines( )
    {
      string[] headlines = ...;
      return PartialView("Headlines", headlines);
    }