Вы пытались использовать модель представления вместо ViewData?Помощники со строгим набором символов, заканчивающиеся For
и содержащие лямбда-выражения, не могут работать со структурами со слабым типом, такими как ViewData
.
. Лично я не использую ViewData / ViewBag.Я определяю модели представлений, и мои действия контроллера передают эти модели представлений моим представлениям.
Например, в вашем случае я бы определил модель представления:
public class MyViewModel
{
[HiddenInput(DisplayValue = false)]
public string CRN { get; set; }
}
чтобы действие моего контроллера заполнило этомодель представления:
public ActionResult Index()
{
var model = new MyViewModel
{
CRN = "foo bar"
};
return View(model);
}
, а затем мой строго типизированный вид просто использует помощник EditorFor
:
@model MyViewModel
@Html.EditorFor(x => x.CRN)
, который сгенерирует меня:
<input id="CRN" name="CRN" type="hidden" value="foo bar" />
в результирующем HTML.