【问题标题】:What solution for easy and consistent forms in asp.net mvcasp.net mvc中简单一致的表单有什么解决方案
【发布时间】:2011-07-28 15:39:19
【问题描述】:

我们最近聘请了一位设计/UI/可访问性的人来为我们的 asp.net MVC 应用程序披上一层新鲜的 css 爱,我设法在他的时间表中加入了整个应用程序对连贯表单的需求。他交付了,我们可以拥有看起来不错且行为正确的表单

我已经尝试通过列出所需的内容来尽可能多地确定表单 ui,因此我有一个我们可以使用的控件类型“池”;将其视为表单的编辑指南。

但由于我要检查应用程序中的每个表单以使用新设计,所以我想找到一个好方法来做到这一点。理想情况下,一个好方法是:

  • 简洁:如果我可以避免在每个字段中输入很长的Html.TextBox(id, value, new with {.all_the_attributes}),那对手指和眼睛来说会很轻松。
  • 详尽:我想确保如果我们需要一个文本框上的提示,一切都在那里:只需一次调用即可完成 JavaScript、初始化、属性等。我宁愿避免类似TextBox.AddHint("bla").AddJavascriptForHint("DoIt()").etc
  • 万无一失:我的一些同事可能对 ui 的连贯性掌握得不太令人满意。我希望他们尽可能少地感到疼痛,以使开关变得可取。而且由于我有时也很愚蠢,所以我不妨从故障保险中受益:)
  • 可扩展:自动创建一个包含thisthat 类的文本框非常棒,但有时我们希望能够将this 显式覆盖为thyse。坦率地说,如果有这个选项是一个额外的好处,我们总是可以用旧的方式创建稀有的特定输入。

因此,考虑到这一点,我开始探索如何管理我自己的生成器:我创建了一个由 HtmlHelper 扩展实例化的 OurForm 类,它为我们的输入提供了一种 DSL。

<%= Html.OurForm.TextBox("id", "value").AddHint("The hint") %>

目前看起来还不错。我可以链接表单输入,如果我真的很懒,我什至可以通过一次调用创建整个表单。但是,编码有点无聊,最重要的是我无法在视图中轻松更改它。如果我犯了错误,或者想在设计中提供更多的余地,我必须回到代码中;部分视图会很好,但我无法看到它是如何完成的。

我目前正在使用 MvcContrib Input Builders 研究Opinionated Html,但我并不总是有适合该表单的模型,所以我并没有真正将这些视为解决方案......有什么帮助或建议吗?你会推荐什么?我应该继续使用我的自定义生成器吗?你用什么?

TL;DR:我可以用什么来更快地创建表单

【问题讨论】:

    标签: .net asp.net-mvc forms input


    【解决方案1】:

    不太了解您的自定义构建器,但如果它对您有好处,我建议您将其与自定义 T4 模板混合使用。您可以在C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 3\CodeTemplates\AddView\CSHTML中找到这些用于添加视图的模板
    您可以查看一些内置模板并了解如何编写自己的模板。如果您创建模板并将其放在同一目录中,则在 Visual Studio Designer 中创建视图时可以使用它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 2010-09-05
      • 2015-06-29
      • 2010-12-28
      • 1970-01-01
      相关资源
      最近更新 更多