0

我感到有点困惑,感觉这应该很简单。(ASP.NET MVC3)

我们有一个动作,称为“产品/列表”。我们在页面上还有一个文本框,称为“到期日期”。现在,如果那是空白的,我们不使用它,如果它被填写,我们选择到期日期之后的产品。

根据选择的到期日期,还有一个“更新页面”按钮。

这需要添加到查询字符串中(或替换),看起来很简单;

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

它有效,但对我来说,这看起来很糟糕,并且使添加新参数非常烦人。

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

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

很可能我错过了一些东西;这样做的首选方法是什么?

4

1 回答 1

1

将您的 ExpiryDate 输入包装在一个表单中(称为 expiryDate)并在其上提交表单

您可以在您的操作方法中选择 GET 或 POST 作为您的请求 VERB,您可以使用一个表单集合来检查空的 expiryDate。

或者通过有一个名为 expiryDate 的参数来使用 MVC 中的 ParameterBinding 并检查其是否为空。(您可能必须使其可以为空)

于 2013-06-05T22:37:12.320 回答