MVC 3将不同的数据库值转换为变量

时间:2011-10-25 23:10:33

标签: asp.net-mvc asp.net-mvc-3 entity-framework

我是MVC的新手,正在使用MVC 3和实体框架4.1。

我有以下内容:

public ViewResult Index(string id)
{

return View(db.Documents.Where(r => r.DocNum == id).ToList());               

}

这为我提供了包含Document DocNum的所有记录的列表。 Document表还有一个字段TITLE。我想将TITLE放入ViewBag中,以便在返回的View顶部使用。如何将Document.Title放入ViewBag?

1 个答案:

答案 0 :(得分:1)

我认为你在寻找:

var document = db.Documents.Where(r => r.DocNum == id).ToList().FirstOrDefault();
if (document != null)
{
    return View(document.Title);
}
return View("No Document Matched");

<强>更新

如果您通过以下方式将文档返回到视图:

return View(db.Documents.Where(r => r.DocNum == id).ToList())

然后在视图中你可以简单地(假设Razor):

@{
string docTitle = "No Document Machted";
var document = db.Documents.Where(r => r.DocNum == id).ToList().FirstOrDefault();
if (document != null)
{
    docTitle = document.Title;
}

<html><head><title>@docTitle</title>...

或者,如果您使用Razor Layout,那么..

[View.cshtml]
@{
ViewBag.Title = "No Document Machted";
var document = db.Documents.Where(r => r.DocNum == id).ToList().FirstOrDefault();
if (document != null)
{
    ViewBag.Title = document.Title;
}

[Layout.cshtml]
<html><head><title>@ViewBag.Title</title>...