gpt4 book ai didi

C# - 在 ASP.NET MVC 3 View 中使用多个数据调用

转载 作者:行者123 更新时间:2023-11-30 22:37:46 24 4
gpt4 key购买 nike

我正在尝试使用 Razor 学习 ASP.NET MVC 3,到目前为止已经掌握了窍门。

我坚持的一件事是尝试让多个数据调用正常工作。

我正在做的事情的背景。我有一个页面将显示有关项目(我开始工作)的信息,但我也想显示该项目的进度(这是另一个数据调用)。我无法显示进度数据。我尝试使用 viewbag,但得到了:

System.Data.Objects.ObjectResult`1[System.String]

我在 Entity Framework 中使用存储过程。

感谢大家的帮助。

编辑:

这是我的问题的粗略示例:

private SDMPREntities _db = new SDMPREntities();
public ActionResult Details(int id) {
ViewData.Model = _db.ViewProjectDetails(id).ToList();
ViewBag.Progress = _db.ProjectProgress();
return View();
}

编辑2:

@James D'Angelo,在 View 中是的。这是 Razor 代码:

@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>
}

最佳答案

电话

_db.ProjectProgress();

最有可能返回一个 ObjectResult,它表示项目的集合。

所以当你试图在 View 中显示它时

@ViewBag.Progress

正在调用 ToString(),它只是打印出类型。

要解决这个问题,您需要从集合中获取特定结果。在不知道您的数据结构的情况下,我只能冒险猜测,例如

_db.ProjectProgress().Single(p=>p.ProjectId == id)

关于C# - 在 ASP.NET MVC 3 View 中使用多个数据调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6365949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com