0

如何将值设置为查询字符串

<form asp-route="TalkMessageBoardSearch" asp-route-talk_query="[need value from "talk_query" field]" method="post" class="form" role="form">
    <input type="hidden" />
    <div class="input-group">
        <input class="form-control" id="talk_query" name="talk_query" placeholder="Search Talk" />
        <div class="input-group-btn">
            <button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></button>
        </div>
    </div> </form>

单击 POST 按钮时,它会重定向到“/message_board_search”,但没有查询字符串。我希望它显示“/message_board_search?talk_query=query1”我如何从 id="talk_query" 字段中获取值并在单击 POST 时将其放入查询字符串中。现在“asp-route-talk_query”可以像 asp-route-talk_query="hardcoded" 一样被硬编码

我使用了“asp-route”,因为视图位于 /talk/message_board_search”,但我希望它位于根路径“/message_board_search”中,这就是我使用路由“TalkMessageBoardSearch”的原因。

4

1 回答 1

0

您正在尝试将 <form> 方法属性与 POST 一起使用。您指定的“方法”会更改行为:

POST 方法不影响查询字符串

GET 方法影响查询字符串。

HTTP 方法:GET 与 POST

HTML <form> method 属性

如果您需要使用 POST还要修改查询字符串以包含动态数据,则必须使用 Javascript。在这种情况下,您不能单独使用 <form> 方法。(见维奈的评论,他有这个链接!)

于 2016-02-11T13:38:55.923 回答