C# 如何在mvc3中从控制器返回两个变量到视图
嗨,我是MVC3的新手,我在返回两个变量时遇到了问题。这是我的控制器代码C# 如何在mvc3中从控制器返回两个变量到视图,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,嗨,我是MVC3的新手,我在返回两个变量时遇到了问题。这是我的控制器代码 public ActionResult Create() { using (var context = new material_managementEntities()) { var blogs = (from cs in context.GROUP_MASTER where cs.GROUP_NAME ==
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);
}
}
这里事务是一个表,目录是另一个表,组是事务表的外键,我想要的是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; }
}
namespace Material.Models
{
使用制度;
使用System.Collections.Generic;
使用System.Web.Mvc;
公共部分类事务
{
公共int ID{get;set;}
公共int组\u MASTER \u ID{get;set;}
公共字符串组_NAME{get;set;}
公共字符串目录数据{get;set;}
公共字符串名称{get;set;}
公共字符串地址\u详细信息{get;set;}
公共字符串CONTACT_PERSON{get;set;}
公共可空电话号码{get;set;}
公共可空单元格{get;set;}
公共可空传真{get;set;}
公共字符串EMAIL_ID{get;set;}
公共可为空的期初余额{get;set;}
公开可为空的期初余额日期{get;set;}
已验证的公共字符串{get;set;}
公共虚拟组\u MASTER组\u MASTER{get;set;}
}
}我强烈建议您键入MVC视图,以获取所需类型的模型,并通过控制器操作方法的返回函数中的参数将该模型传递给视图。您可以使用
viewbag.directory_master = (db.DIRECTORY_MASTER.Include(d => d.CATEGORY_MASTER).Include(d => d.REPRESENTATIVE_MASTER)).ToList();
然后从模型中迭代您的viewbag.directory\u master
,并显示所需的
或者,您可以创建一个自定义视图模型,其中包含目录\u主控
和事务
等
public class DashboardModel
{
public TRANSACTION transation{get;set;}
public List<directory_master>directoryMaster{get;set;}
}
您正在尝试访问视图中的导航属性吗?droplist.dir_data=directory_master.ToList();当您的droplist.dir_数据是字符串时,您如何分配so。嗨,sudil ravindran pk,我得到以下错误“Material.Models.DashboardModel”是一个“类型”,但它像“变量”一样使用,并且错误1非静态字段、方法需要对象引用,或属性“Material.Models.DashboardModel.Transaction.get'i have corected,请立即尝试。别忘了在视图中指定DashboardModel Hi sudil ravindran pk我更改为DashboardModel如下DashboardModel DashboardModel=新DashboardModel();dashboardModel.transaction.GROUP\u MASTER\u ID=blogId;dashboardModel.Transaction.GROUP_NAME=“MIC”;dashboardModel.directoryMaster=(db.DIRECTORY\u MASTER.Include(d=>d.CATEGORY\u MASTER).Include(d=>d.REPRESENTATIVE\u MASTER));返回视图(仪表板模型);但现在我收到一个错误,因为错误1无法将类型“System.Linq.IQueryable”隐式转换为“System.Collections.Generic.List”。存在显式转换(是否缺少转换?)明白了,我忘了包括.ToList();
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);
}
}