我是C#MVC的初学者,但我正在做一些项目。
我在互联网上搜索过,发现没有符合我问题的解决方案。没有一个问题解决了我的问题。问题是:如何遍历每个项目(如下面的代码片段中所示)并在视图中显示它们。
项目模型代码:
public class AddProjectViewModel
{
[Required]
[StringLength(50, ErrorMessage = "Project name length is too long. Maximum lenght is 50 char.")]
public string ProjectName { get; set; }
[Required]
[StringLength(50, ErrorMessage = "Description length is too long. Maximum lenght is 50 char.")]
public string Description { get; set; }
}
项目控制器代码:
public ActionResult Index()
{
var loggedUser = _workContext.GetUserId();
var userProjects = _userProjectsRepository.GetAllEntity().Where(x => x.UserId == loggedUser);
var model = new Models.ProjectViewModels.ShowUserProjectsViewModel();
model.Projects = userProjects;
return View(model);
}
这个想法是:当页面加载时,显示登录用户可以看到的每个项目。
我尝试过类似的东西,但它不起作用:
@model IEnumerable<CarPooling.Website.Models.ProjectViewModels>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@foreach (var item in Model)
{
<div>
<p>@Html.DisplayFor(m=>item)</p>
</div>
}
请耐心等待,并感谢您的每一个回复。
答案 0 :(得分:1)
在您的控制器中,您将转到查看DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float xCoefficient = captureBitmapWidth / metrics.widthPixels;
float yCoefficient = captureBitmapHeight / metrics.heightPixels;
对象,但随后在.cshtml视图中将模型声明为ShowUserProjectsViewModel
。
使用您在控制器中传递的相同模型类型,并且还要记住使用ViewModel类中定义的相同属性,如下所示:
IEnumerable<CarPooling.Website.Models.ProjectViewModels>