如何文本框的值传递到在asp.net mvc的查询字符串(How to pass textbox v

2019-07-29 06:33发布

另一个新手使用ASP.NET MVC! 所有我打算做的是对我的网页上搜索文本框,如果我输入一些东西,然后点击搜索,重定向的URL应该在结尾处以下,像计算器,

/search?q=searchedtext

所以这是我现在有,

<input id="searchText" maxlength="100" type="text" name="query" />
    <a href="???"  class="searchButton">        
        Search        
    </a>

我有一个函数在我的控制器这样的,

public ActionResult Search(string query)
 {

 }

这里是路线,

routes.MapRoute(
            "Search",                                            
            "Search",                          
            new { controller = "Posts", action = "Search"} 
        );

任何人都可以填补空白在这里:)。 任何意见赞赏。

Answer 1:

与表单标签包装它,设置它的方法“GET”,使用输入类型=“提交”提交形式(而不是“一个”标签),名称文本输入的查询(已完成),接受查询作为参数字符串(已经完成),呼叫模型由控制器处理请求,更新ViewData.Model,返回相应的视图结果(部分,如果使用AJAX)。

如果你想不通过查询字符串键/值通过URL来传递查询,
你必须指定正确的路由为。

我想这会是这样的:

routes.MapRoute(  
            "Search", // Route name  
            "search/{query}", // URL with parameters  
            new 
              { controller = "search", action = "search"}  // Parameter defaults
        );


Answer 2:

你需要用的是客户端代码的形式:

<form action="/Search" method="get">
   <input id="q" name="q" maxlength="100" type="text" />
   <input type="submit" id="submit" value="Search" />
</form>


Answer 3:

这里是我做了什么:

<% Html.BeginForm("Search", "controller name", FormMethod.Get); %>
        <input id="criteria" name="criteria" maxlength="120" type="text" style="width:120px; " />
        <input type="image" alt="search" />
    <% Html.EndForm(); %>

public ActionResult Search(string criteria)
    {
       //search code goes here
    }


文章来源: How to pass textbox value into query string in asp.net mvc