ASP.NET_MVC4_使用ViewModel給前台傳遞多個model

來源:互聯網
上載者:User

標籤:style   class   blog   code   http   tar   

ASP.NET_MVC4_使用ViewModel給前台傳遞多個model

先建立資料庫並插入如下的SQL指令碼和資料

CREATE TABLE Ta(Id int identity(1,1)  PRIMARY KEY ,[TitleName] varchar(255),[Point11] varchar(255),[Point32] varchar(255),)INSERT INTO [dbo].[Ta]           ([TitleName]           ,[Point11]           ,[Point32] )     VALUES           (‘TAAAAAAAAA3‘           ,‘2222.287042‘           ,‘32.661‘)INSERT INTO [dbo].[Ta]           ([TitleName]           ,[Point11]           ,[Point32] )     VALUES           (‘TAAAAAAAAA55555‘           ,‘43532322.287042‘           ,‘65652.661‘)GOCREATE TABLE Tb(Id int identity(1,1)  PRIMARY KEY ,[TitleName] varchar(255),[Point11] varchar(255),[Point32] varchar(255))INSERT INTO [dbo].[Tb]           ([TitleName]           ,[Point11]           ,[Point32])     VALUES           (‘rrrrTBBBBBBBBBB55‘           ,‘5555.287042‘           ,‘32.661‘)           INSERT INTO [dbo].[Tb]           ([TitleName]           ,[Point11]           ,[Point32])     VALUES           (‘rrrzzzzzTBBBBBBBBBB6566‘           ,‘76785.287042‘           ,‘-0-088772.661‘)GO
View Code

 

最終資料庫viewModel 和表ta ,表tb資料如下

 

 

建立ASP.NET MVC4,.NET版本選擇.NET 4.0 ,項目命名為Mvc__ViewModel ,選擇 ASP.NET MVC4空項目

--------------------------------------------------------------------------------

在Model檔案右鍵,選擇添加新項目,選擇添加Ado.net實體資料模型,一路選擇資料庫連接,並選擇從資料庫產生

最終得到 

 

再在Model檔案右鍵,選擇添加一個類,命名為MyModel.cs

這就是我們要寫的viewModel,具體代碼如下,很好理解,這裡就不多說了,完全代碼如下:

using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace Mvc__ViewModel.Models{    public class MyModel    {           public List<Ta> ta {get; private set;}            public List<Tb> tb{get; private set;}            public MyModel( )           {                viewModelEntities db= new viewModelEntities();                ta = db.Tas.ToList();                tb = db.Tbs.ToList();           }    }}
View Code

 

接下來到Controller檔案夾,右鍵添加一個控制器,命名為 HomeController.cs

具體代碼如下   

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;namespace Mvc__ViewModel.Controllers{    public class HomeController : Controller    {        //        // GET: /Home/        public ActionResult Index()        {            return View();        }        public ActionResult Vmodel()        {            return View(new Mvc__ViewModel.Models.MyModel() );        }    }}

  

分別在 Index  和 Vmodel 方法上右鍵,分別添加對應的試圖

 

Index預設Index.cshtml代碼預設,

下面貼上 Vmodel.cshtml代碼

@Model Mvc__ViewModel.Models.MyModel@{    ViewBag.Title = "Vmodel";}<h2>Vmodel</h2>@foreach (var item in Model.ta ){     <div>ta    <p> @item.TitleName</p>  <p> @item.Point11</p></div>}<p>--------分隔線----------</p>@foreach (var item in Model.tb ){     <div>tb    <p> @item.TitleName</p></div>}

  

代碼很簡單,就是在普通的Model後面加上了成員,很好理解

最後編譯運行

 

MVC新手一點點心得,如有錯誤,歡迎各位大神斧正,QQ2360450496,愛生活,愛Coding,我是林夢!嘿嘿!

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.