嗨,我是MVC3的新手,我在返回两个变量时遇到问题是我的控制器代码
public ActionResult Create()
{
using (var context = new material_managementEntities())
{
var blogs = (from cs in context.GROUP_MASTER
where cs.GROUP_NAME == "MIC"
select cs.ID).FirstOrDefault();
var droplist = new TRANSACTION();
droplist.GROUP_MASTER_ID = blogs;
droplist.GROUP_NAME = "MIC";
var directory_master = db.DIRECTORY_MASTER.Include(d => d.CATEGORY_MASTER).Include(d => d.REPRESENTATIVE_MASTER);
droplist.dir_data = directory_master.ToList();
return View(droplist);
}
}
这里Transaction是一个表,DIRECTORY_MASTER是另一个,GROUP_MASTER_ID是Transaction表的外键,我想要的是toList数据将显示在一个modalpopup框中,所以我需要传递两个表中可用的数据
这是模型
namespace Material.Models
{
using System;
using System.Collections.Generic;
using System.Web.Mvc;
public partial class TRANSACTION
{
public int ID { get; set; }
public int GROUP_MASTER_ID { get; set; }
public string GROUP_NAME { get; set; }
public string dir_data { get; set; }
public string NAME { get; set; }
public string ADDRESS_DETAILS { get; set; }
public string CONTACT_PERSON { get; set; }
public Nullable<int> TEL_NO { get; set; }
public Nullable<int> CELL { get; set; }
public Nullable<int> FAX { get; set; }
public string EMAIL_ID { get; set; }
public Nullable<int> OPENING_BALANCE { get; set; }
public Nullable<System.DateTime> OPENING_BALANCE_DATE { get; set; }
public string VERIFIED { get; set; }
public virtual GROUP_MASTER GROUP_MASTER { get; set; }
}
}
答案 0 :(得分:2)
你可以使用
viewbag.directory_master = (db.DIRECTORY_MASTER.Include(d => d.CATEGORY_MASTER).Include(d => d.REPRESENTATIVE_MASTER)).ToList();
然后从模型中迭代viewbag.directory_master
并显示所需的内容。
或者您可以创建包含directory_master
和TRANSACTION
的自定义视图模型,例如
public class DashboardModel
{
public TRANSACTION transation{get;set;}
public List<directory_master>directoryMaster{get;set;}
}
所以你的行动将是这样的
public ActionResult Create()
{
using (var context = new material_managementEntities())
{
var blogId = (from cs in context.GROUP_MASTER
where cs.GROUP_NAME == "MIC"
select cs.ID).FirstOrDefault();
DashboardModel dashboardModel= new DashboardModel();
dashboardModel.transation.GROUP_MASTER_ID = blogId;
dashboardModel.transation.GROUP_NAME = "MIC";
dashboardModel.directoryMaster = (db.DIRECTORY_MASTER.Include(d => d.CATEGORY_MASTER).Include(d => d.REPRESENTATIVE_MASTER)).ToList();
return View(dashboardModel);
}
}
答案 1 :(得分:1)
我建议强烈输入您的MVC视图以获取所需类型的模型,并通过控制器操作方法的return函数中的参数将该模型传递给视图。