asp.net mvc 中@model使用多个类型实例的方法
2017-08-28 14:39
393 查看
有时需要在ASP.NET MVC4的视图的@model中使用多个类型的实例,.NET
Framework 4.0版本引入的System.Tuple类可以轻松满足这个需求。
假设Person和Product是两个类型,如下是控制器代码。
[csharp] view
plain copy
using System;
using System.Web.Mvc;
namespace Razor.Controllers
{
public class HomeController : Controller
{
Razor.Models.Product myProduct = new Models.Product { ProductID = 1, Name = "Book"};
Razor.Models.Person myPerson = new Models.Person { PersonID = "1", Name = "Jack" };
public ActionResult Index()
{
return View(Tuple.Create(myProduct,myPerson)); // 返回一个Tuple对象,Item1代表Product、Item2代表Person
}
}
}
如下是视图Index.cshtml的代码
[html] view
plain copy
@model Tuple<Razor.Models.Product, Razor.Models.Person>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
@Model.Item1.Name
</div>
</body>
</html>
当然,还有许多其它的方法做到上述相同效果。但上述方法直接简明,容易理解和使用。
原文链接:http://blog.csdn.net/hulihui/article/details/48199897
Framework 4.0版本引入的System.Tuple类可以轻松满足这个需求。
假设Person和Product是两个类型,如下是控制器代码。
[csharp] view
plain copy
using System;
using System.Web.Mvc;
namespace Razor.Controllers
{
public class HomeController : Controller
{
Razor.Models.Product myProduct = new Models.Product { ProductID = 1, Name = "Book"};
Razor.Models.Person myPerson = new Models.Person { PersonID = "1", Name = "Jack" };
public ActionResult Index()
{
return View(Tuple.Create(myProduct,myPerson)); // 返回一个Tuple对象,Item1代表Product、Item2代表Person
}
}
}
如下是视图Index.cshtml的代码
[html] view
plain copy
@model Tuple<Razor.Models.Product, Razor.Models.Person>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
@Model.Item1.Name
</div>
</body>
</html>
当然,还有许多其它的方法做到上述相同效果。但上述方法直接简明,容易理解和使用。
原文链接:http://blog.csdn.net/hulihui/article/details/48199897
相关文章推荐
- 实例分析ASP.NET在MVC5中使用MiniProfiler监控MVC性能的方法
- ASP.NET MVC 系列之 (强类型HTML辅助方法使用)
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(7):服务器端和客户端数据类型的自动转换:泛型集合类型
- 使用Northwind和Entity框架的ASP.NET MVC实例
- asp.net mvc使用的心得和问题的解决方法(陆续更新ing)
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- ASP.NET MVC 2.0 in Vs2010 :使用C# 4.0中使用动态类型来传递ViewData
- Asp.net Mvc 未能加载类型“System.Web.Mvc.ViewPage<IEnumerable...的解決方法
- ASP.net MVC 同一view或页面使用多个Model或数据集的方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(8):服务器端和客户端数据类型的自动转换:数组类型
- 在Asp.Net中使用SmtpMail发送邮件的方法:实例
- ASP.NET MVC 2.0 in Vs2010 :使用C# 4.0中使用动态类型来传递ViewData
- ASP.NET MVC中使用UpdatePanel的方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(6):服务器端和客户端数据类型的自动转换:复杂类型
- 在Asp.net MVC framework中使用扩展方法创建Html Helper
- Asp.net Mvc 的积木,谈Asp.net MVC中视图逻辑模块化和controller组件的使用方法
- Asp.net Mvc Framework可以在Controller中使用的Url.Action方法
- 【翻译】使用ASP.NET MVC 和 LINQ 创建一个Blog引擎实例-第一节
- 使用Northwind和Entity框架的ASP.NET MVC实例发布