代码之家  ›  专栏  ›  技术社区  ›  Jason

BeginForm中的别名Querystring Params withFormMethod.获取-MVC2型

  •  1
  • Jason  · 技术社区  · 16 年前

    有没有一种方法可以将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 回复  |  直到 16 年前
        1
  •  2
  •   Jace Rhea    16 年前

    我想你可以改变你的textbox控件,不使用模板,使用你想在查询字符串中看到的名字,像这样。。。

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

    或者您可以将TextBoxFor方法使用的模板与自己的自定义模板一起更改,但我不确定您将使用什么约定。也许检查一下“搜索术语”的型号名称?

    This site 提供了一些如何创建自定义模板的示例。

    抱歉,如果代码中的语法不正确,但是我在这台机器上没有MVC。