在開發ASP.NET MVC時,我們會遇上這樣的情形,需要一次性傳送多個Model從控制器Controller至視圖View。 實現很簡單,只是創建一個集合類即可。Ok,下麵先在資料庫準備一些數據,如: CREATE TABLE [dbo].[TableA] ( [A] NVARCHAR(30) N ...
在開發ASP.NET MVC時,我們會遇上這樣的情形,需要一次性傳送多個Model從控制器Controller至視圖View。
實現很簡單,只是創建一個集合類即可。
Ok,下麵先在資料庫準備一些數據,如:
CREATE TABLE [dbo].[TableA] ( [A] NVARCHAR(30) NULL, [B] NVARCHAR(30) NULL, [C] NVARCHAR(30) NULL ) GO INSERT INTO [dbo].[TableA] ([A],[B],[C]) VALUES ('a1','b1','c1'),('a2','b2','c2'), ('a3','b3','c3'),('a4','b4','c4'), ('a5','b5','c5') GO CREATE PROCEDURE [dbo].[usp_TableA_GetAll] AS SELECT [A],[B],[C] FROM [dbo].[TableA] GOSource Code
CREATE TABLE [dbo].[TableB] ( [X] DECIMAL(18,8) NULL, [Y] DECIMAL(18,8) NULL, [Z] DECIMAL(18,8) NULL ) GO INSERT INTO [dbo].[TableB] ([X],[Y],[Z]) VALUES (0.2,0.3,0.4),(1.2,2.3,3.4),(4.2,5.3,6.4) GO CREATE PROCEDURE [dbo].[usp_TableB_GetAll] AS SELECT [X],[Y],[Z] FROM [dbo].[TableB] GOSource Code
此時回至ASP.NET MVC項目中,創建兩個model:
TableA model:
現在你需還要創建兩個實體,去獲取資料庫的數據:
TableAEntity:
本篇關鍵部分,是創建另外一個ViewModel類,在類中添加相關model有屬性。下麵是重溫一下:
這種方法,就等於寫死了,如果有另外的model添加或是刪除,得來去修改這個ViewModel類。