TextBoxFor
предназначен для использования со строго типизированными представлениями и моделями представления. Поэтому отрежьте ViewData/ViewBag
c..p и правильно используйте этих помощников:
@model MyViewModel
@Html.TextBoxFor(x => x.Text)
Если вам нужно выполнить цикл, используйте EditorTemplates:
@model IEnumerable<MyViewModel>
@Html.EditorForModel()
и внутри соответствующего шаблона редактора:
@model MyViewModel
<div>@Html.TextBoxFor(x => x.Text)</div>
Мало того, что теперь у нас есть IntelliSense и строгая типизация, но в дополнение к этому код работает.
Заключение и мои 2: не используйте ViewBag / ViewData в ASP.NET MVC и будьте счастливы.