【发布时间】:2011-06-16 00:38:02
【问题描述】:
我正在尝试使用 razor 学习 ASP.NET MVC 3,到目前为止已经掌握了窍门。
我坚持的一件事是尝试让多个数据调用正常工作。
我正在做的事情的背景。我有一个页面将显示有关项目的信息(我正在工作),但我也想显示该项目的进度(这是另一个数据调用)。我无法显示进度数据。我尝试使用 viewbag,但得到了:
System.Data.Objects.ObjectResult`1[System.String]
我在实体框架中使用存储过程。
感谢各位的帮助。
编辑:
这是我的问题的一个粗略示例:
private SDMPREntities _db = new SDMPREntities();
public ActionResult Details(int id) {
ViewData.Model = _db.ViewProjectDetails(id).ToList();
ViewBag.Progress = _db.ProjectProgress();
return View();
}
EDIT2:
@James D'Angelo,在视图中是的。这是剃须刀代码:
@model IEnumerable<DeveloperManagerSharp.Models.Projects>
@{
ViewBag.Title = "Project Details";
Layout = "~/Views/Shared/project-ui.cshtml";
}
<div class="post">
<h3 class="title">
Project Details</h3>
<div class="entry">
<h4>
Select a Project</h4>
<p>
Select a project below to see their progress or to update any of their properties.</p>
</div>
</div>
@foreach (var item in ViewData.Model)
{
<div class="post">
<h3 class="title">@item.project_name (@item.project_version) @ViewBag.Progress%</h3>
<div class="meta">
<div class="posted">
@Html.ActionLink("Edit", "Edit", new { id = item.PID }) |
@Html.ActionLink("Back to Projects", "Index")
</div>
@if (@item.project_completed == "1") {
<div class="date">
Project is Completed.
</div>
} else {
<div class="date">
Project is Under Work.
</div>
}
</div>
<div class="entry">
@if(@item.project_status == "0")
{
<span>Status: Planning</span><br />
}
else if(@item.project_status == "1")
{
<span>Status: Alpha</span><br />
}
else if(@item.project_status == "2")
{
<span>Status: Beta</span><br />
}
else if(@item.project_status == "3")
{
<span>Status: Release Candiate</span><br />
}
else if(@item.project_status == "4")
{
<span>Status: Active</span><br />
}
else if(@item.project_status == "5")
{
<span>Status: Maure</span><br />
}
else if(@item.project_status == "6")
{
<span>Status: Discontinued</span><br />
}
Starts: @item.project_sdate<br />
Ends: @item.project_edate<br />
<em>@item.project_desc</em>
</div>
</div>
}
【问题讨论】:
-
你能发布一些你所说的不起作用的代码吗?
-
当然。私有 SDMPREntities _db = 新 SDMPREntities(); public ActionResult Details(int id) { // 从数据库中检索流派及其相关专辑 ViewData.Model = _db.ViewProjectDetails(id).ToList(); ViewBag.Progress = _db.ProjectProgress();返回视图(); }
-
现在我的实体函数可能是错误的,我让它返回为十进制,因为它只返回一个小数。
-
请编辑您的问题,而不是在 cmets 中发布代码。
-
你从哪里得到“System.Data.Objects.ObjectResult`1[System.String]”?在视图中?如果是这样,你能把剃刀也贴出来吗?
标签: c# asp.net asp.net-mvc-3