如何在同一视图上显示两个webgrid [英] How to display two webgrid on same view

查看:72
本文介绍了如何在同一视图上显示两个webgrid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

- 场景

1)我在模型中有两个类

2)我正在创建类的列表对象并尝试填充虚拟数据。

3 probelm - >如何在视图中传递两个列表对象。这样我就可以在一个视图中创建两个webgrid





- 模型

--Scenario
1)i have two class in model
2)I am creating list object of both the class and trying to populate dummy data.
3 probelm --> how to pass two list object in view. So that i can create two webgrid in one view


--Model

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace Tesco.RetalixTenNFR.MVC.Models
{
    public class SuccessFailureModel
    {

        public string Country { get; set; }
        public string FormatStoreType { get; set; }
        public int? Stores { get; set; }
        public int? Tills { get; set; }
        public int? Tokens { get; set; }
        public string OverallBrag { get; set; }


    }

    public class OverAllDmsBrag
    {

        public string OverAllDms { get; set; }
        public string OverallBragColor { get; set; }

    }


}







-------------------------- controller -------------




--------------------------controller-------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Tesco.RetalixTenNFR.MVC.Models;

namespace Tesco.RetalixTenNFR.MVC.Controllers
{
    public class SuccessFailureController : Controller
    {
        //
        // GET: /SuccessFailure/
        public ActionResult Index()
        {
            List<SuccessFailureModel> SuccessFailureObjList = new List<SuccessFailureModel>();
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "UK", Stores = 257, Tills = 420, Tokens = 1200, OverallBrag = "RED" });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "Format And Store Type", Stores =null, Tills = null, Tokens = null, OverallBrag = null });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "Non Express", Stores = 30, Tills = 100, Tokens = 500, OverallBrag = "RED" });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "SuperStore", Stores = 25, Tills = 50, Tokens = 150, OverallBrag = "RED" });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "Metro", Stores = 50, Tills = 48, Tokens = 75, OverallBrag = "RED" });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "HomePlus", Stores = 0, Tills = 200, Tokens = 2, OverallBrag = "RED" });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "Express", Stores = 150, Tills = 220, Tokens = 473, OverallBrag = "RED" });

            List<OverAllDmsBrag> OverAllObj = new List<OverAllDmsBrag>();
            OverAllObj.Add(new OverAllDmsBrag { OverAllDms = "Over All DMS Brag", OverallBragColor = "RED" });
            return View(OverAllObj);
            //return View(SuccessFailureObjList);
        }

      
    } 
}





- 控制器我正在创建两个列表。如何在控制器中传递两个对象进行查看。得到一个webgrid很简单,因为我们需要传递一个对象。



- 请帮助我,因为我是mvc的新手



--in controller i am creating two list. How it is possible to pass two object to view in controller. getting one webgrid is simple as we need to pass one object.

--Kindly help me out as i am new to mvc

推荐答案

简单解决方案是使用'ViewModel'类。在这个类中添加两个List< type>属性并传递viewmodel对象进行查看。



Simple Solution is use 'ViewModel' class. In this class add two List<type> properties and pass the viewmodel object to view.

Public Class MyViewModel
{
    Public List<SuccessFailureModel> List1{get;set;}
    Public List<SuccessFailureModel> List2{get;set;}
}


namespace Tesco.RetalixTenNFR.MVC.Controllers
{
    public class SuccessFailureController : Controller
    {
        //
        // GET: /SuccessFailure/
        public ActionResult Index()
        {
            List<SuccessFailureModel> SuccessFailureObjList = new List<SuccessFailureModel>();
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "UK", Stores = 257, Tills = 420, Tokens = 1200, OverallBrag = "RED" });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "Format And Store Type", Stores =null, Tills = null, Tokens = null, OverallBrag = null });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "Non Express", Stores = 30, Tills = 100, Tokens = 500, OverallBrag = "RED" });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "SuperStore", Stores = 25, Tills = 50, Tokens = 150, OverallBrag = "RED" });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "Metro", Stores = 50, Tills = 48, Tokens = 75, OverallBrag = "RED" });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "HomePlus", Stores = 0, Tills = 200, Tokens = 2, OverallBrag = "RED" });
            SuccessFailureObjList.Add(new SuccessFailureModel { FormatStoreType = "Express", Stores = 150, Tills = 220, Tokens = 473, OverallBrag = "RED" });

            List<OverAllDmsBrag> OverAllObj = new List<OverAllDmsBrag>();
            OverAllObj.Add(new OverAllDmsBrag { OverAllDms = "Over All DMS Brag", OverallBragColor = "RED" });
            MyViewModel model=new MyViewModel();
            model.List1=SuccessFailureObjList;
            model.List2=OverAllObj;
            return View(model);
            //return View(SuccessFailureObjList);
        }


    }
}


试试



如何展示 - 两个 - webgrid-in-one-view [ ^ ]


这篇关于如何在同一视图上显示两个webgrid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆