ASP.NET_MVC4_使用ViewModel给前台传递多个model

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'
)
GO



CREATE 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,我是林梦!嘿嘿!

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值