将表单值发布到Action方法时忽略查询字符串值

时间:2011-07-06 12:00:26

标签: asp.net-mvc-3 pagination parameter-passing model-binding

我有一个带有字段和提交按钮的“搜索”表单。返回的结果与呈现锚元素的寻呼机控件一起显示。

例如,我的表单会包含字段companyproduct

我有一个类似

的Action方法
public ActionResult Index(string company, string product, int? page)
{
    var model = GetModel(company, product, page ?? 1);
    return View(model);
}

并且视图将显示结果并生成分页链接,例如......

<a href="/?company=Microsoft&product=Windows&page=2">2</a>

所以基本上,寻呼机重新提交相同的查询但是有一个页面参数。

我遇到的问题是,如果我使用寻呼机控件转到第2页然后提交新的搜索查询,页面Action参数将被映射到上一个分页操作的页面querystring参数,而我需要它重置为null。否则,我可以在查询结果列表的第2页上结束,该列表只有一页。

我该如何解决这个问题?

还有一个相关的问题,有没有办法提交寻呼机参数信息而不将它放在查询字符串中?不幸的是我无法使用javascript。我不认为这是可能的,但我想我会检查一下。

0 个答案:

没有答案