標籤: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,我是林夢!嘿嘿!