我正在使用ASP.NET MVC框架,并且有一个页面,该页面当前会回复自身,验证,然后根据最佳实践建议重新定向。
我现在希望添加一项涉及用户输入“商品代码”的功能。此代码如果有效,将过滤页面上主要表单中的选项,然后按照惯例提交。
需要提交“优惠代码”表单。然后,重定向将用户带回原始页面,但URL中的验证商品代码(这被指定为可选参数)。
我可以看到继续使用MVC验证功能的唯一选择是在我的[HttpPost]方法中放置条件分支,因为框架不允许您指定具有不同参数的多个函数。
那里有更好的建议吗?
答案 0 :(得分:0)
这听起来像你需要编写自定义模型验证器。您可能遇到的唯一问题是您需要让验证器知道HttpContext以正确完成其工作(有点反模式)
http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx
答案 1 :(得分:0)
如果您使用强类型视图,基于具有未标记为必需的OfferCode属性的模型,该怎么办?如果它存在且有效HttpPost例程处理“提交要约代码”按钮单击返回一组选项,如果它不存在或无效则返回一组不同的选项。