ammu11 Ответов: 1

Как пройти viewbag значение из контроллера в HTML.helpermethod редактора в режиме


У меня есть сомнения в том, как я могу передать значение из viewbag на страницу просмотра. Я беру значение из таблицы и передаю его в viewbag, но на странице просмотра Оно не возвращает нужные мне данные

var t = db.Names.Where(r => r.ID == id).Select(i=> new { i.ID, i.FirstName });
           ViewBag.name=  t;

на странице просмотра

@Html.Editor("name", new { htmlAttributes = new { @class = "form-control" } })


Если мне нужно имя как abc, оно правильно возвращается в контроллере, но не отображается на странице просмотра. идентификатор и имя отображаются как сам идентификатор и имя, но как передать это значение на страницу просмотра
как я могу получить текстовое значение в поле редактора, но внутренне оно хранится как int, то есть это значение. кто-нибудь может мне помочь ??

Что я уже пробовал:

У меня есть Сич для результата, но я не получил идеального

1 Ответов

Рейтинг:
5

NightWizzard

Проходить

@ViewBag.name

вместо
"name"

в редакцию


ammu11

но когда я даю код, как вы сказали, он показывает ошибку, что "HtmlHelper & lt;mapping>" не имеет применимого метода с именем "редактор", но, похоже, имеет метод расширения с этим именем. Методы расширения не могут быть динамически отправлены. Рассмотрите возможность приведения динамических аргументов или вызова метода расширения без синтаксиса метода расширения.
почему это ?

NightWizzard

Эта ошибка обычно появляется, когда вы забыли скобку за методом, например:
объект.метод toString
вместо
объект.метод toString()
Проверьте, правильно ли вы используете синтаксис C#, и, возможно, посмотрите на примеры здесь:
http://www.tutorialsteacher.com/mvc/htmlhelper-editor-editorfor

ammu11

когда я даю я получаю ложь вместо имени

NightWizzard

Да, посмотрите на свой код: вы назначаете resut запроса LINQ t (который содержит 2 поля: ID и Firstname). Это не (!) строка, но вы обрабатываете ее как строку так, как вы назначаете ее Viewbag и как передаете ее редактору. Чтобы показать Firstname, вы должны передать только эту часть результата LINQ в viewbag.