У меня есть окно поиска на странице (фактически в частичном представлении, хотя я не уверен, что это актуально) с элементом управления Html.TextBox
<%= Html.TextBox("query", ViewData["query"], new { style = "width: 90%;" })%>
Метод действия принимает «запрос» в качестве параметра, и я редактирую это значение, чтобы очистить строку, переданную в:
public ActionResult SearchQuery(string query) {
ViewData["query"] = StringFunctions.ProperCasing(query.Replace("_", " "));
Однако, когда он попадает в Html.TextBox, исходное значение запроса (в данном случае с подчеркиванием) сохраняется. Я вижу, что отредактированное значение находится в поле ViewData, например, если:
query == "data_entry"
затем, после перехода в метод действия
ViewData["query"] == "data entry"
но значение, когда оно достигает представления, в Html.TextBox все еще равно "data_entry". Кажется, что существует конфликт между параметром метода действия «запрос» и параметром формы окна поиска «запрос». Кто-нибудь знает, что здесь происходит или есть ли другой способ передать значение?
Этот метод действия отличается от действия, которое возникает в результате публикации данных в окне поиска.