2011-10-31 2 views
2

를 사용하여보기 나는 같은 뷰 모델이 있습니다MVC - 패스 뷰 모델은 C#을

public class EmployeeViewModel 
{ 


    Employees employee{ get; set; } 
    Budget budget { get; set; } 



} 

가 나는이 그 테이블을 모두 필요로 만들 않는 뷰에이보기 모델을 통과 좋아합니다.

내가보기에 정보를 전달하는 것 컨트롤러에 다음과 같은 일을 시도했지만 실패했습니다 :

EmployeeViewModel pvm = new EmployeeViewModel() 
    return View(pvm); 

이유의 존재가 그 직원과 예산 모두의 값이 null입니다. 두 테이블 모두에 대해 알 수 있도록이 정보를보기에 전달하는 방법은 무엇입니까?

+1

제발 행동하지 마십시오. 직원이나 예산의 초기화가 보이지 않습니다. 생성자에서 발생하고 있습니까? –

+0

보기에 대해 더 많은 정보를 제공 할 수 있습니까? 페이지 오류가 발생 했습니까? 아니면 아무 일도 일어나지 않았습니까? 당신이 테이블을 말할 때, 나는 당신이 당신의 직원과 예산 모델이 대응하는 데이터베이스의 테이블을 의미한다고 가정합니다. 당신이 말할 때 : "... 창조가 ...", 당신은 데이터베이스에 삽입을 의미합니까? – ooPeanutButter

답변

1
Maybe if you add 

public class EmployeeViewModel 
{ 
    Employees employee{ get; set; } 
    Budget budget { get; set; } 

    public EmployeeViewModel() 
    { 
     employee = ... initialize Employee list/set/... 
     budget = ... initialize budget 
    } 

} 

당신의 ViewModel 속성에 대한 참조를해야합니다, 직원 및 예산은

public class BudgetController : Controller { 

    public ViewResult Index(){ 
    var db = new YourContrxtClass(); 
    EmployeeViewModel pvm = new EmployeeViewModel() 
    pvm.employees = db.Employees.All(); // or some where condition 
    pvm.budget = db.Budget.FirstOrDefault(b=> b.Year == DateTime.Now.Year); // if you have Year property in budget model 
    return View(pvm); 
    } 

} 

이 그냥 테스트주의하시기 바랍니다 LINQ/ADO EF 모델이 경우 컨트롤러 데이터베이스에서 데이터를 첨부 할 수있는이 방법 내 머리 속에는 예제 코드에 약간의 오류가있을 수 있습니다

+0

그것은 내가 의견에 물었던 것입니다 ... 결코 대답을 되찾지 못했습니다 LOL –