向当前url客户端添加查询参数



我感到有点困惑,感觉这应该是非常简单的。(ASP。净MVC3)

我们有一个Action,叫做"Product/List"。我们在页面上也有一个文本框,叫做"到期日期"。现在,如果它是空白的,我们不使用它,如果它是填充的,我们选择过期日期之后的产品。

还有一个"更新页面"按钮,根据所选的过期日期。

这需要添加到查询字符串(或替换),这似乎很简单;

$(button).bind('click', ...
  window.location.href = '@Url.Action(...)?ExpiryDate=' + ExpiryDate;
)

它可以工作,但是对我来说,这看起来很糟糕,并且使得添加新参数非常烦人。

我们不能使用@Url.Action(..., new { ExpiryDate=... }),因为这需要在文本框使用后在客户端完成。

而且,我们不希望使用一个提交按钮和一个HttpPost动作;这不是一个帖子,这是一个视图的更新(加上它打破了浏览器的历史记录)。

很可能我错过了什么;你更喜欢用什么方法来做这件事?

将您的ExpiryDate输入包装在一个表单中(调用它为ExpiryDate),并对其进行表单提交

你可以在你的动作方法中选择GET或POST作为你的请求动词,你可以有一个表单集合来检查null expiryDate

或者在MVC中使用ParameterBinding,有一个名为expiryDate的参数,并检查它是否为空。

最新更新