url 中没有查询的 Gridmvc 过滤
Gridmvc filtering without query in url
我正在使用 GridMvc 并且正在过滤数据。我想在 url 中隐藏过滤器查询,例如 http://www.mypage.com/Overview?Name=yyy
我的表单定义为:
<form class="form-inline" method="POST" action="@Url.Action("Filter", Request.QueryString)">
<div class="form-group>
@Html.LabelFor(c => c.Name)
@Html.TextBoxFor(c => c.Name, new { placeholder = "Filter", @class = "form-control" })
<button type="submit" class="btn btn-default"><i class="glyphicon glyphicon-search"></i> Search</button>
</div>
</form>
以及动作
[HttpPost]
public ActionResult Filter(FilterModel model)
但我总是看到查询。是否可以隐藏查询字符串?
如果您将所有数据都放在隐藏字段而不是 Request.QueryString
,您可以隐藏您的查询。
我的意思是,如果您的 Request.QueryString
看起来像 param1=test1¶m2=test2
,您应该像这样渲染您的视图:
<form class="form-inline" method="POST" action="@Url.Action("Filter")">
<input type="hidden" name="param1" value="test1" />
<input type="hidden" name="param2" value="test2" />
<div class="form-group>
@Html.LabelFor(c => c.Name)
@Html.TextBoxFor(c => c.Name, new { placeholder = "Filter", @class = "form-control" })
<button type="submit" class="btn btn-default"><i class="glyphicon glyphicon-search"></i> Search</button>
</div>
</form>
MVC 绑定将根据此 hidden
[=16] 的 name
属性 绑定 POST 上的所有隐藏值=]s.
您应该只填写输入值(用 Request.QueryString
中的值替换 test1 和 test2)
我正在使用 GridMvc 并且正在过滤数据。我想在 url 中隐藏过滤器查询,例如 http://www.mypage.com/Overview?Name=yyy 我的表单定义为:
<form class="form-inline" method="POST" action="@Url.Action("Filter", Request.QueryString)">
<div class="form-group>
@Html.LabelFor(c => c.Name)
@Html.TextBoxFor(c => c.Name, new { placeholder = "Filter", @class = "form-control" })
<button type="submit" class="btn btn-default"><i class="glyphicon glyphicon-search"></i> Search</button>
</div>
</form>
以及动作
[HttpPost]
public ActionResult Filter(FilterModel model)
但我总是看到查询。是否可以隐藏查询字符串?
如果您将所有数据都放在隐藏字段而不是 Request.QueryString
,您可以隐藏您的查询。
我的意思是,如果您的 Request.QueryString
看起来像 param1=test1¶m2=test2
,您应该像这样渲染您的视图:
<form class="form-inline" method="POST" action="@Url.Action("Filter")">
<input type="hidden" name="param1" value="test1" />
<input type="hidden" name="param2" value="test2" />
<div class="form-group>
@Html.LabelFor(c => c.Name)
@Html.TextBoxFor(c => c.Name, new { placeholder = "Filter", @class = "form-control" })
<button type="submit" class="btn btn-default"><i class="glyphicon glyphicon-search"></i> Search</button>
</div>
</form>
MVC 绑定将根据此 hidden
[=16] 的 name
属性 绑定 POST 上的所有隐藏值=]s.
您应该只填写输入值(用 Request.QueryString
中的值替换 test1 和 test2)