将对象RouteValues传递给搜索按钮

时间:2016-09-01 10:05:18

标签: c# asp.net-mvc frontend routevalues

我想将object RouteValues参数传递给该按钮

<div class="wrapper">
    <div class="search-box">
        <form class="form-inline">
            <div class="form-group">
                <input type="text" name="searchString" value="@Model.searchString" class="search-text form-control" placeholder="Search..."/>
            </div>
            <button type="submit" class="btn btn-info">
                Search
            </button>
        </form>
    </div>
    </div>

我知道如何使用Html.ActionLink,但我不知道将它放在该按钮类的哪个位置。 我想传递的路线值如下:

new { sortOrder = Model.CurrentSort}

有没有简单的方法可以将这些传递给我的按钮?

2 个答案:

答案 0 :(得分:0)

如果您需要提交表单,请使用@Html.BeginForm()

@Html.BeginForm("NAME_METHOD_FROM_YOUR_CONTROLLER", "FORM_METHOD.POST OR GET")
{
    <div class="wrapper">
    <div class="search-box">
    <form class="form-inline">
        <div class="form-group">
            <input type="text" name="searchString" value="@Model.searchString" class="search-text form-control" placeholder="Search..."/>
        </div>
        <button type="submit" class="btn btn-info">
            Search
        </button>
    </form>
    </div>
    </div>
}

表单中的所有输入都将发送给您的控制器。 另一种方法如果你需要使用表单方法获取,你可以用href属性更改按钮<a><a href="/Controller_Name/Method/Parameter(optional)" />与你的路线图相同。

答案 1 :(得分:0)

    @using(Html.BeginForm("action", "controller",
                           new { sortOrder = Model.CurrentSort }, FormMethod.Post, null){

    }

or you can use a hidden field in your form:
<input type="hidden" name="sortOrder" value="@Model.CurrentSort" />