【问题标题】:Which ASP.NET server controls to use?要使用哪些 ASP.NET 服务器控件?
【发布时间】:2011-09-19 03:31:28
【问题描述】:

尝试学习 ASP.NET(拥有数年经典 ASP 开发经验),并与无数用于呈现数据的服务器控件作斗争。

我正在尝试使用服务器端数据对象来透视数据。一个很好的例子是一个包含三列的客户表:1) 客户 ID,2) 客户名称 3) 订单 ID 的嵌套列表。当然,客户和订单之间存在一对多的关系。在经典的 ASP 中,我会使用两个数组——一个用于客户,一个用于订单——我会为客户数组的每次迭代遍历一次订单数组,并根据需要提取适当的订单记录。

相反,我正在尝试利用 .NET 框架控件,因此我想将订单转储到 DataTable 中,然后我将为客户数据创建一个 GridView,其中包含自定义 TemplateField 调用循环遍历 Orders DataTable 并将正确的记录绑定到某种对象(ListView?文字?),然后绑定到客户 GridView 中的适当行。

这是对的吗?我是否选择了正确的控件用于此目的?我很想只使用 VB 数组并按照我一直这样做的方式进行操作(将一串 HTML 与重复连接混合在一起),但我正在努力利用框架的效率。

感谢您的指导。

【问题讨论】:

  • 由于您习惯了经典 ASP,我强烈建议您跳过 ASP.NET Web 窗体(以及所有服务器控件),而转而使用 Razor view engine 的 ASP.NET MVC 3
  • 有趣。我在想我会先学习 Web 窗体控件,然后再进入 MVC。但听起来你会建议其他方式?
  • 作为一个无时无刻不在使用 Web 表单的人,要赶上 MVC 有点困难。因为 Web 表单让生活变得如此简单(拖放!)而直接回到 HTML 和循环实际上很难。但是,因为你对经典的 ASP 非常了解,我相信 MVC 会好好对待你的!检查asp.net/mvc,有很棒的视频教程! Razor Engine 简直太棒了! :)
  • 是的。倒不是 Web Forms 不好或者别的什么,只是它封装了太多关于标记和 HTTP 协议的内容,有时看起来很笨拙。使用 Razor 的服务器端标记非常相似,主要区别在于类型系统,并且您有一个更好的编辑器,具有代码完成等等。
  • WebForms 和 MVC 是两种截然不同的做事方式。 MVC 是一种更“面向 Web”的应用程序开发方式,而使用 WebForms 感觉更像是在开发桌面风格的应用程序。无论哪种情况,他们都有自己的位置。在某些情况下,MVC 在某些情况下是矫枉过正的,反之亦然。无论如何,如果你花一些时间在两者上并决定什么对你来说更自然,这不会有什么坏处。话虽如此,MVC 是“新来的孩子”,但仍然是一个非常漂亮的框架。

标签: asp.net gridview


【解决方案1】:

Pluralsight.com 有一个很棒的 ASP.NET Web 表单课程,它应该让你使用 ASP.NET 框架打下坚实的基础。

Building Applications with ASP.NET 4 WebForms

特别是,我会查看使用数据源控件,它与您想要实现的目标更相关。

【讨论】:

    【解决方案2】:

    听起来你是在正确的轨道上。某种 Master/Details 设置应该可以为您解决问题,并且应该非常容易链接在一起。

    http://www.asp.net/data-access/tutorials/master-detail-using-a-selectable-master-gridview-with-a-details-detailview-cs

    这对我来说似乎是一个很好的开始,而且我坚决认为新控件的投资从长远来看会得到回报。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-12
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      相关资源
      最近更新 更多