【问题标题】:Pass value from field to querystring将值从字段传递到查询字符串
【发布时间】:2016-05-22 05:53:13
【问题描述】:

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

<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”的原因。

【问题讨论】:

标签: c# asp.net asp.net-mvc asp.net-mvc-routing tag-helpers


【解决方案1】:

您正在尝试将

方法属性与 POST 一起使用。您指定的“方法”会改变行为:

POST方法不影响查询字符串

GET 方法影响查询字符串。

HTTP Methods: GET vs. POST

HTML < form > method Attribute

如果您需要使用 POST 但修改查询字符串以包含动态数据,则必须使用 Javascript。在这种情况下,您不能单独使用

方法。 (见 Vinay 的评论,他有这个链接!)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    • 2017-08-13
    • 1970-01-01
    相关资源
    最近更新 更多