代码之家  ›  专栏  ›  技术社区  ›  Chase Florell

有没有什么方法可以让强类型的WebForms类似于MVC视图?

  •  3
  • Chase Florell  · 技术社区  · 15 年前

    我最近爱上了ASP.NET MVC,我最喜欢的部分之一是我可以拥有强类型视图,当我向服务层提交数据时,我所要做的就是提交模型对象并对其进行处理。

    这与我去年开发的一款规模相对较大的WebForms应用形成了鲜明对比。这个应用程序的问题是,客户机需要(想要)两个表的每个表超过150个字段(越来越令人沮丧的是,字段“names”是数字,但这是另一回事)。

    我发现自己正在做的事情(在很多表格上)如下。

    Dim bfs As New BusinessForSale
    
    With bfs
        .123 = txt123.Text
        .124 = txt124.Text
        ''# etc
        ''# etc
        ''# 148 more bloody times
    End With
    ''# Yes it was that frigging frustrating.
    

    然后我可以将bfs对象提交到数据库。

    现在在MVC中,模型为我处理所有这些。

    我这样做是不是完全错了?有没有办法(不是说我会回到WebForms,而是为了我自己的知识)将表单“model”提交到数据库,而不是像那样单独设置每个参数?这是我所经历过的最痛苦的编程经历,只是因为单调。

    2 回复  |  直到 13 年前
        1
  •  1
  •   Brian Mains    15 年前

    基本上可以为Web窗体构建这些组件;它们不存在于现有框架中。我也有同样的想法,为什么写所有的代码时,一些反思过程可以为我做到这一点。我一直在尝试将其应用到我的MVP框架(http://nuclear.codeplex.com)中,这将是我的重点之一(甚至AJAX回发)。但我离题了,抱歉插上了插头。

    无论如何,您可以构建将控件ID与类中属性的名称匹配的反射块。它不能像您在ASP.NET MVC中看到的那样自动化(因为管道中的核心差异),但它可以像启动该过程的方法调用一样简单。

    哦。

        2
  •  1
  •   Denis Ivin    15 年前

    This 可以为您提供一些关于如何实现类似于强类型视图的内容的想法。