将匿名对象作为Model数据传给View
将匿名对象作为Model数据传给View匿名类型默认访问修饰符为internal,这意味着他们只可以从其定义的程序集中被访问。一旦你超越了程序集的边界,将会被当做普通的object对象被解析,因此不具备直接索引属性。
将匿名对象作为Model数据传给View方法
一、使用Tuple元组静态类
1、Controller中
var result= dbDataContext.TableName.Select(s=>Tuple.Create(参数赋值));
2、View中使用:
@model IEnumerable<dynamic>
foreach (var item in Model)
{
<tr>
<td>@item.Item1</td>
<td>@item.Item2</td>
<td>@item.Item3</td>
<td>@item.Item4</td>
<td>@item.Item5</td>
</tr>
}
二、使用ExpandoObject类
这是.NET 4.0中的一种类型:ExpandoObject,ExpandoObject类型是一种可以再运行时随意动态添加和删除成员的类型。
1、Controller中:
public ActionResult UsingExpando()
{
dynamic viewModel = new ExpandoObject();
viewModel.TestString = "This is a test string";
return View(viewModel);
}
2、View中使用:
<p> @Model.TestString </p>