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

最终数据库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();

           }

    }
}

接下来到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,我是林梦!嘿嘿!

ASP.NET_MVC4_使用ViewModel给前台传递多个model,布布扣,bubuko.com

时间: 2024-10-14 12:56:31

ASP.NET_MVC4_使用ViewModel给前台传递多个model的相关文章

asp.net中利用session对象传递、共享数据[session用法]

下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值: 首先定义将一个文本值或单独一个值赋予session,如下: session["name"]=textbox1.text:将文本1的值赋给了session变量name,当调查到其它页面时,此值可以传递,依然存在,下面是调用或判断此值. If(session["name"]==null) {} Else { lable1.text=session["name"].tos

java代码中后台向前台传递list或map集合案例

导入jar包 新建一个servert传递map集合 ajax.java代码: 1 package servlet; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 import java.util.ArrayList; 6 import java.util.HashMap; 7 import java.util.List; 8 import java.util.Map; 9 10 import javax.servl

【转】asp.net中利用session对象传递、共享数据[session用法]

来自:http://blog.unvs.cn/archives/session-transfer-method.html 下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值: 首先定义将一个文本值或单独一个值赋予session,如下: session["name"]=textbox1.text:将文本1的值赋给了session变量name,当调查到其它页面时,此值可以传递,依然存在,下面是调用或判断此值. If(session["name"

传递给数据库 &#39;model&#39; 中的日志扫描操作的日志扫描号无效

原因分析: 对于在Windows 8 Modern风格(注:即原Metro风格)的开始菜单界面,可以通过对磁贴进行固定或取消操作.如果仅仅对某个磁贴如“桌面”进行取消,那仍然可以进入所有应用中选中然后再重新固定即可.具体请阅读操作步骤. 解决方案: 1. 在开始菜单界面的空白处,点击鼠标右键.然后底部将会弹出“所有应用”的提示,鼠标左键单击; 2. 在所有应用列表中,找到“桌面”图标并在上面单击鼠标“右键”,然后再点击左下角的“固定到开始屏幕”; 3. 此操作后将重新在开始屏幕固定“桌面”磁贴;

ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式

方式一: 数据存储模型Model:此方式未用到数据存储模型Model,仅简单的字符串string型数据传递 前台接收显示数据视图View: <div style="height:300px; width:100%"> <div style="margin-left:100px;margin-top:50px;"> <input id="testData" type="text" style=&qu

ASP.NET MVC之从控制器传递数据到视图四种方式

前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎指出以及批评. 前奏 新建基本项目在Models文件夹下定义如下类: public class Person { public int Id { get; set; } public string Name { get; set; } public string BlogAddress { get;

ASP.NET MVC之从控制器传递数据到视图四种方式(一)

前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎指出以及批评. 前奏 新建基本项目在Models文件夹下定义如下类: public class Person { public int Id { get; set; } public string Name { get; set; } public string BlogAddress { get;

ASP.NET MVC 页面调整并传递参数

转自:http://blog.csdn.net/zhensoft163/article/details/7174661 使用过ASP.NET MVC的人都知道在MVC中页面后台中常用的页面跳转方法有几种,如:return View().return RedirectToAction() 一般情况下我们返回的都是本页面,所以使用return View()就可以解决问题了,但是很多时候我们也会遇到返回的页面不是本页面的,那么就会用到后面两种,但是如果我们在页面返回的时候也要返回操作的结果的时候,我们

springmvc前台传递到controller层的中文乱码解决方法

@RequestMapping("/judge") public String judgeLogger(@RequestParam String userName, @RequestParam String password, @RequestParam String sex, RedirectAttributes redirectAttributes) { // 乱码解决方法 try { String name = new String(userName.getBytes("