【问题标题】:classic asp page posting to mvc3 controller action经典的 asp 页面发布到 mvc3 控制器操作
【发布时间】:2012-06-26 17:05:37
【问题描述】:

我目前正在将一个经典的 asp 站点与 MVC3 集成。我对集成的某些领域有一些疑问,希望得到一些反馈。

首先,我有一个发布到 MVC 控制器操作的 asp 页面。我几乎没有修改asp页面的余地。我想获取从 asp 页面发布的表单字段并将它们映射到模型对象。发布的值具有晦涩的名称,例如我想将其映射到模型对象上的 Name 属性的“my_name”。最好的方法是通过模型绑定器还是有替代方法?

我的下一个问题是上一个问题的后续,我关心任何跨站点脚本,所以想检查发布的变量的值是否有效并且不包含奇怪的字符等。MVC3 中是否内置了一些东西开箱即用?

当 asp 页面发布到控制器操作时,我想在控制器操作正在处理时显示一个等待图标,因为控制器操作可能需要 10 秒以上,因为它必须调用外部系统等。因此我不想要帖子看起来像挂着一样。是否可以连接控制器动作以返回带有等待图标的视图,而动作的主体正在后台处理并且一旦完成重定向到另一个页面?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 asp-classic


    【解决方案1】:

    是通过模型绑定器执行此操作的最佳方式还是有 替代品?

    最好的方法是模型绑定。您可以使用自定义模型绑定器来处理将my_name 映射到Name 的ASP 场景。大多数情况下,您应该有一个单独的操作来处理来自经典 asp 的请求,并且您可以将自定义模型绑定器仅链接到此操作。

    MVC3 中是否有内置的东西可以开箱即用?

    在 MVC 中默认启用请求验证。因此,如果用户尝试将脚本块发布到操作 MVC 将抛出异常。当然,如果需要,您可以通过使用ValidateInput(false) 装饰操作来关闭请求验证。

    对于长时间运行的操作,您必须使用asynccontrollers

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 2014-06-08
      • 2012-02-20
      • 1970-01-01
      • 2013-08-10
      • 2011-03-24
      相关资源
      最近更新 更多