asp.net – 从两个表(join)获取数据,并使用linq返回结果
发布时间:2020-05-23 19:03:16 所属栏目:asp.Net 来源:互联网
导读:我有两个表:Projects和ProjectsData,我想使用join执行查询,并在View中获取结果。 在控制器我有这个代码: ViewBag.projectsData = (from pd in db.ProjectsData join p in db.Projects on pd.ProjectId equals p.I
|
我有两个表:Projects和ProjectsData,我想使用join执行查询,并在View中获取结果。 在控制器我有这个代码: ViewBag.projectsData = (from pd in db.ProjectsData
join p in db.Projects on pd.ProjectId equals p.ID
where pd.UserName == this.HttpContext.User.Identity.Name
orderby p.Name,p.ProjectNo
select new { ProjectData = pd,Project = p });
在视图中我应该使用什么来提取这些数据。我试过: @foreach (var item in ViewBag.projectsData)
{
@item.pd.UserName
}
但它不工作… 解决方法在您的视图中,您尝试访问pd属性,但此属性不存在。该属性称为ProjectData。据说我强烈建议您使用视图模型和强类型视图而不是ViewBag。这样,您也可以在您的视图中获得Intellisense,这将帮助您选择正确的名称。 因此,您可以先定义一个视图模型,其中包含您的视图所需的所有信息: public class MyViewModel
{
public ProjectData ProjectData { get; set; }
public Project Project { get; set; }
}
然后在您的控制器操作中填充此视图模型并传递给视图: public ActionResult Index()
{
var viewModel =
from pd in db.ProjectsData
join p in db.Projects on pd.ProjectId equals p.ID
where pd.UserName == this.HttpContext.User.Identity.Name
orderby p.Name,p.ProjectNo
select new MyViewModel { ProjectData = pd,Project = p };
return View(viewModel);
}
最后在您的强类型视图中使用视图模型: @model IEnumerable<AppName.Models.MyViewModel>
@foreach (var item in Model)
{
<div>@item.ProjectData.UserName</div>
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – Razor in-line if语句不工作?
- asp.net-mvc – 在IIS Express上设置SMTP
- asp.net – 在.css文件中引用应用程序相对虚拟路径
- asp.net – 有没有办法使VS2010发布向导在发布网站时复制Ap
- ASP.NET Core使用SkiaSharp实现验证码的示例代码
- .net – Nuget包,没有nuget包管理器?
- asp.net-mvc – MVC4 Razor – @ Html.DisplayFor没有绑定到
- asp.net – SQL Timeout过期2秒查询
- asp.net-mvc – 如何使用身份成员资格与现有数据库(n层)
- asp.net – 为什么不能在发布模式下构建网站?
推荐文章
站长推荐
- asp.net-mvc-3 – 自定义ActionInvoker与MVC 3中
- asp.net-mvc – ASP.Net C#Razor显示编码的HTML而
- ASP.NET如何渲染控件到HTML?
- 回收ASP.NET应用程序是否会激起用户的兴趣?
- asp.net – ServerVariables [“HTTP_HOST”]和S
- 使用MVC在ASP.NET中实现API的最佳方法是什么?
- IIS7上的ASP.NET身份验证问题 – 对于Windows身份
- asp.net-mvc – 从ASP.NET MVC中的部分视图中删除
- asp.net-mvc – 处理ASP.NET MVC中的路由错误
- ASP.NET WebMethod返回包含在引号中的JSON
热点阅读
