POST>重定向> GET模式有多种形式

时间:2010-04-22 17:26:23

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

我正在使用ASP.NET MVC框架,并且有一个页面,该页面当前会回复自身,验证,然后根据最佳实践建议重新定向。

我现在希望添加一项涉及用户输入“商品代码”的功能。此代码如果有效,将过滤页面上主要表单中的选项,然后按照惯例提交。

需要提交“优惠代码”表单。然后,重定向将用户带回原始页面,但URL中的验证商品代码(这被指定为可选参数)。

我可以看到继续使用MVC验证功能的唯一选择是在我的[HttpPost]方法中放置条件分支,因为框架不允许您指定具有不同参数的多个函数。

那里有更好的建议吗?

2 个答案:

答案 0 :(得分:0)

这听起来像你需要编写自定义模型验证器。您可能遇到的唯一问题是您需要让验证器知道HttpContext以正确完成其工作(有点反模式)

http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx

答案 1 :(得分:0)

如果您使用强类型视图,基于具有未标记为必需的OfferCode属性的模型,该怎么办?如果它存在且有效HttpPost例程处理“提交要约代码”按钮单击返回一组选项,如果它不存在或无效则返回一组不同的选项。