您的位置:首页 > 编程语言 > ASP

Asp.net Mvc action返回多个模型实体给view

2017-07-30 20:08 141 查看
1、controller中action代码:

public class HomeController : Controller
{
public ActionResult Detail(int id)
{
UserInfo master = masterBLL.QueryOne(x => x.StudentID == id);//主表
UserSlave slave = slaveBLL.QueryOne(x => x.StudentID == id);//从表
return View(Tuple.Create(master, slave));
}
}


Tuple是c#4.0的新特性。

如果返回三个,则 Tuple.Create(master, slave1 , slave2)

2、view代码:

@{
Layout = null;
}
@model Tuple<Model.UserInfo, Model.UserSlave>
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name='viewport' content='width=device-width,initial-scale=1.0'>
</head>
<body>
<table>
<tr>
<td><span>姓名</span></td>
<td>
@Html.DisplayFor(model => model.Item1.Name)
</td>
</tr>
<tr>
<td><span>邮箱</span></td>
<td>
@Html.DisplayFor(model => model.Item2.Email)
</td>
</tr>
</table>
</body>
</html>


model.Item1表示实体模型UserInfo,model.Item2表示实体模型UserSlave

如果是textbox控件,写法一样:

@Html.TextBoxFor(model => model.Item1.Name, new { placeholder = "姓名", maxlength = "20" })
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: