2015-06-20 52 views
0

我有一種情況,也許它早已被問過,但我無法得到它。將一個模型從部分視圖傳遞到父視圖,並將另一個模型綁定到相同的父視圖

我有一個partial view_SamplePartial.cshtml和父視圖,即Sample.cshtml。 現在我想在父視圖中使用分部視圖,並將父視圖與其他模型綁定。

下面是代碼:

public ActionResult Sample() 
{ 
Student student=new Student() 
    { 
    ID=101, 
    Name="Sam", 
    City="NY" 
    }; 
return View(student); 
} 

Sample.cshtml:

@model MultipleModels.Models.Student 
@{ 
    ViewBag.Title = "Sample"; 
} 
<h2>Sample</h2> 
@Html.Partial("_SamplePartial",Model) 

_Samplepartial.cshtml:

@model MultipleModels.Models.Student 
<table> 
    <tr><td>@Model.StudentID</td></tr> 
    <tr><td>@Model.StudentName</td></tr> 
    <tr><td>@Model.StudentCity</td></tr> 
</table> 

現在我想的是另一名學生對象也勢必查看,但它不應該來自部分視圖。 對於離:

Student stdObj=new Student() 
{ 
ID=999, 
Name="Rambo", 
City="Sydney" 
}; 

上述目的也應存在於該視圖中,但它不應該從局部視圖的模型來傳遞。

請專家指導。

回答

0

最終找出答案。

創建一個ViewModel。

public class StudentViewModel() 
{ 
public Student Obj1{get;set;} 
public Student Obj2{get;set;} 
} 

在操作方法:

public ActionResult Sample() 
{ 
StudentViewModel vm=new StudentViewModel(); 
vm.Obj1=new Student{ID=101,Name="Sam",City="NY"}; 
vm.Obj2=new Student{ID=102,Name="Rambo",City="Sydney"}; 
return View(vm); 
} 

Sample.cshtml:

@model MultipleModels.ViewModels.StudentViewModel 
@{ 
    ViewBag.Title = "Sample"; 
} 
<h2>Sample</h2> 
<p><b>Directly</b></p> 
<table> 
    <tr> 
     <td>@Model.Obj1.StudentID</td> 
     <td>@Model.Obj1.StudentName</td> 
     <td>@Model.Obj1.StudentCity</td> 
    </tr> 
</table> 
@Html.Partial("_SamplePartial",@Model.Obj2) 
相關問題