Html.Display does not work with ViewBag

arnoldrob picture arnoldrob · Oct 8, 2012 · Viewed 16.9k times · Source

Html.Display does not work with ViewBag.

@Html.Display("disp", (string)@ViewBag.disp)

I must use this viewbag because it can be modified by a search button selecting another disp.

@Html.TextBox("disp", (string)@ViewBag.disp)

If I use TextBox instead of Display it works, but I want to be read-only. How it is possible?

Answer

Raphaël Althaus picture Raphaël Althaus · Oct 8, 2012

Because there's no overload of Display which takes a value as argument.

So.

You can simply do

@ViewBag.disp

or (if it contains HTMl)

@Html.Raw(ViewBag.disp)

or if you want a TextBox

@Html.TextBox("disp", (string)@ViewBag.disp, new{@readonly = true})