MVC 3 получает различное значение базы данных в переменную - PullRequest
0 голосов
/ 26 октября 2011

Я новичок в MVC и использую MVC 3 и интегрированную среду 4.1.

У меня есть следующее:

public ViewResult Index(string id)
{

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

}

Это дает мне список всех записей, которые содержат документ DocNum. Таблица документов также имеет поле TITLE. Я хочу поместить этот заголовок в ViewBag для использования в верхней части возвращаемого представления. Как я могу получить Document.Title в ViewBag?

1 Ответ

1 голос
/ 26 октября 2011

Я думаю, что вы ищете:

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>...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...