2011-10-31 85 views
2

我有一个视图模型为这样:MVC - 通过视图模型查看使用C#

public class EmployeeViewModel 
{ 


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



} 

我喜欢这个视图模型传递给它一个创建需要两个表的视图。

我试着做以下的,将信息传递到视图控制器,但没有成功:

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

其原因是在于员工和预算的价值是零。 如何将这些信息传递给视图以便了解这两个表?

+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 
    } 

} 

这种方式,您将在视图模型的属性引用,或者你可以从数据库中控制器连接的数据,如果员工和预算是LINQ/ADO EF车型

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); 
    } 

} 

请注意,这只是测试在我的脑海中,并且示例代码中可能存在一些错误

+0

这就是我在评论中所要求的......从来没有得到答案 –