【问题标题】:POST > Redirect > GET Pattern with multiple formsPOST > Redirect > GET 具有多种形式的模式
【发布时间】:2010-04-22 17:26:23
【问题描述】:

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

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

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

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

有没有更好的建议?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2017-09-04
        • 2012-03-06
        • 2014-05-04
        • 1970-01-01
        • 2019-05-21
        • 1970-01-01
        • 2014-12-11
        • 2015-11-27
        • 1970-01-01
        相关资源
        最近更新 更多