好问题!我假设您可以随时掌握 C# 语法,因此我将专注于大局。
要开始使用 WebForms 应用程序,您必须了解页面生命周期和应用程序生命周期。这是你的首要任务。ASP.NET 使用的模型基于 Windows 基于窗体的编程,这会影响您对整个软件生产过程的看法。现在,我假设您将构建一个 WebForms 应用程序,因为 WebForms 技术(在 ASP.NET 中)更成熟,有更好的第三方支持并且有更多的文档。如果您倾向于 MVC,那么请记住,一个好的设计将是其中之一 - MVC 不是 WebForms 的一部分,它是它的替代品。
接下来,你有一些决定。您将使用标准数据访问(例如 SQLClient)工具、滚动您自己的数据访问层(或使用 DAL),还是使用 linq to SQL?我说“决定”是因为团队中的每个人都必须在这个问题上齐心协力。我衷心推荐构建一个 DAL,因为您可以根据需要对其进行优化。Linq 也不错,但地平线上有一些不祥的云。协调、决定并坚持下去。
虽然不是强制性的,但您应该认真考虑在单独的类库 (DLL) 中构建业务逻辑。Visual Studio / ASP.NET 使创建您自己的类库并将其折叠到您的解决方案中变得非常容易。学习如何做到这一点,你将成为一个更好的开发人员多年。人们通常会基于它将您的 UI 与您的数据访问隔离开来争论这一点。虽然确实如此,但这并不是真正的优势 - 当您准备好学习和进行单元测试时,优势就会出现。刚开始假设您将从逻辑中分离 UI,并且您会在路上感谢我。
此时,您可以 (A) 构建网页并 (B) 在其中显示基于数据库的动态内容。确保您掌握了 GridView 和用于填充它们的 ObjectDataSource 对象。注意:ObjectDataSource 将数据从您的业务类库传送到您的 UI。如果您不使用业务层,那么您将使用 SQLDataSource 或 LinqDataSource 对象直接从 UI 访问您的数据。
还没有解决你的架构!
您现在需要决定是否要使用 Microsoft 的 WebParts、Login 和 Navigation 组件。这些将您锁定在站点导航、UI 等的特定方法中,但如果合适的话,可以为您节省大量时间。
一旦你知道你是否会使用这些并且你有机会习惯它们,那么我建议你熟悉母版页。我广泛使用它们,它们非常适合标准化网站的整体外观。
最后,每个专业的 ASP.NET 开发人员都必须派生出他们自己的 Page 类(例如“MyPageClass”),以便他们可以在 Page 级别封装常用操作。例如,我构建了一个会话管理对象,以便我可以以类型安全的方式访问所有常用的会话变量。派生的页面类负责提供 sessionObj 实例,以便每个页面都可以访问它而无需任何额外的工作。
现在您已准备好开始构建企业级 Web 应用程序!