0

我正在创建一个 MVC4 应用程序,在该应用程序中我从Webservice

我有HomeController 一个ActionResult Index()

考虑以下代码:

public ActionResult Index(string id) {  
    // showing information about resource      
    Myproject.Data.ResourceData resourceData = new Myproject.Data.ResourceData();  
    var resource1 = resourceData.showResource(id);  
    return View(resource1);  
}

ResourceData类具有FirstName,LastName和等属性public List<Project> Projects。在resource1我获取个人信息和项目信息等数据。

我有两个标签:Personal InformationProject Information。我想拆分个人信息选项卡resource1中的个人信息和私人信息选项卡中的私人信息的数据

4

2 回答 2

0

一旦您的视图中有数据(模型)......您可以为每个选项卡使用子部分视图。然后你只需要将模型或模型的一部分传递给每个PartialView。

编辑:添加一些代码

您的索引视图是强类型的并接收ResourceData模型。然后,在您的索引视图中,您可以显示 2 个部分视图来以这种方式处理 2 种类型的数据:

<div class="PersonalTab">
     @Html.Partial("PersonalData", Model)
</div>

<div class="ProjectsTab">
     @Html.Partial("ProjectsData", Model)
</div>

" PersonalData" 和 " ProjectsData" 是您需要在相同文件夹中添加的 PartialViews 的名称Index

如果您看到,我只是将整个 Model 对象传递给每个对象...这将起作用...但是您可以这样做:

@Html.Partial("ProjectsData", Model.ListOfProjects)

因此,在每个部分中,您需要声明模型的类型:( @model Myproject.Data.ResourceData 如果您传递整个模型)

或者

@model IEnumerable<Project>(如果您只通过项目列表)

注意:上面的代码只是解决了一种将视图拆分为多个部分视图的方法。创建选项卡的逻辑更多是 javascript 的事情。

于 2013-09-13T16:18:01.100 回答
0

您可以通过将两者都视为简单视图来简单地做到这一点。分离关注点(公共的,私有的,在一个视图中使用元素,只使用来自 jquery 的选项卡,甚至引导程序都很棒。它会分离关注点并且工作起来会比你想象的要容易得多。

于 2013-09-13T16:08:22.877 回答