Сглаживание параметров строки запроса в BeginForm с FormMethod.Get - MVC2 - PullRequest
1 голос
/ 22 сентября 2010

Вопрос

Есть ли способ присвоить псевдонимы параметрам, сгенерированным MVC, в моем случае это будет параметр searchTerm? Например, в моей viewmodel это все еще будет SearchViewModel.searchTerm, но URL будет выглядеть как /Home/Search?s=jimmy

Форма поиска

<% using (Html.BeginForm("Search", "Home", FormMethod.Get)) {%>
       <%: Html.TextBoxFor(model => model.searchTerm) %>
       <input type="submit" value="Search" />
<% } %>

Просмотр модели

    public class SearchViewModel
    {
        public string searchTerm { get; set; }
    }

Созданный URL

/Home/Search?searchTerm=jimmy

Редактировать: не представляется возможным. Похоже, мне придется сделать это самостоятельно ..

1 Ответ

2 голосов
/ 22 сентября 2010

Я думаю, что вы можете либо изменить свой элемент управления textbox, чтобы он не использовал шаблоны, и использовать имя, которое вы хотите видеть в строке запроса, как это ...

<%= Html.TextBox("s", Model.searchTerm) 

Или вы можете изменить шаблон, которыйМетод TextBoxFor использует свой собственный, но я не уверен, какое соглашение вы бы использовали.Может быть, проверить имена моделей "searchTerm"?

На этом сайте есть несколько примеров того, как создать пользовательский шаблон.

Извините, если синтаксис был неверным в коде, но у меня нет MVC наэта машина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...