Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在mvc3中从控制器返回两个变量到视图_C#_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

C# 如何在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 ==

嗨,我是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);
        }

    }
这里事务是一个表,目录是另一个表,组是事务表的外键,我想要的是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);
        }

    }