如何在同一视图上显示两个webgrid [英] How to display two webgrid on same view
问题描述
- 场景
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屋!