@Html.TextBoxFor(m => m.SearchModel.Text, new { id = "Text" })
Использование перегруженного метода TextBoxFor()
, который принимает второй параметр object
(называемый htmlAttributes
).Здесь вы можете указать атрибуты HTML для применения к элементу DOM, который вы используете в данный момент (в данном случае, ваш input
элемент).
Edit : я считаю, что ваше лямбда-выражение неверноИзменить:
@Html.TextBoxFor(m => Model.SearchModel.Text)
На
@Html.TextBoxFor(m => m.SearchModel.Text)
// htmlAttributes omitted to show the issue
Редактировать Редактировать : оказывается, что даже с указанным атрибутом name
он будет отображаться в соответствии с тем, чтодля формы требуется POST
для обязательных полей.
Правка Правка Правка : Попытайтесь явно указать FormExtensions.BeginForm()
:
@using (Html.BeginForm("Search", "YourController", FormMethod.Post, null))
{
@Html.TextBoxFor(m => m.SearchModel.Text)
}
Используйте это как замену вашего <form />
элемента.