处理ASP.NET上常见HTML控件的最佳方法

时间:2010-07-23 11:39:54

标签: asp.net html controls

我想知道,在ASP.NET中处理常见HTML控件的最佳方法是什么?我的意思是,ASP.NET服务器控件在代码中生成了太多的垃圾,所以我宁愿使用通用控件。

但是数据绑定以及如何正确管理这些常见对象(例如组合框,文本框等)呢?

3 个答案:

答案 0 :(得分:2)

不要忘记,您始终可以在任何控件上设置runat="server" - 包括标准html表单控件,例如<input><select>,以及其他元素如<div>。什么,真的。

这意味着您可以非常轻松地重新控制WebForms页面中的html输出 - 只要您不需要viewstate或ASP.NET通常为您处理的任何其他更高级的数据绑定/状态管理。

也就是说,学习使用ASP.NET MVC框架并不是一个坏主意,因为它可以帮助您重新获得对html输出的控制。通常,在ASP.NET MVC中创建页面需要更多的工作,因为没有像gridview,textbox甚至转发器那样的拖放控件。相反,您使用html辅助方法和常规foreach循环,这意味着您必须键入更多代码。但是,MVC框架的设计使您无论如何都不必重复编写代码。

答案 1 :(得分:1)

如果你担心WebForms ASP.NET引擎生成的html标记,我建议你看一下ASP.NET MVC。它的目的是专门为您提供生成的html所需的控件。 如果您不想开始学习ASP.NET MVC,ASP.NET 4.0 WebForms可以为您生成的HTML提供更大的灵活性(例如仅为特定控件启用ViewState,设置html id等)。

至于数据绑定,再次,如果你深入研究MVC并开始考虑行动 - &gt;结果你可以获得更多的控制和灵活性。

后来编辑:我忘了提到Razor,这是微软正在开发的新ViewEngine。它目前处于测试阶段,仅在WebMatrix内部,这是一个非常简单的用于ASP.NET的“入门型”开发平台。 MVC结合使用Razor编写的非常干净的代码,在我看来是Web开发世界中一个重要的趋势设定者。

答案 2 :(得分:0)

ASP.Net控件生成所有“废话”是有原因的。这样你就可以正确地数据绑定和管理这些对象。当您不需要直接数据绑定或者不需要通过服务器端代码操作控件时,使用标准html控件很有用。

在ASP.Net中处理常见HTML控件的最佳方法是不直接处理它们。通过使用它们来处理数据和功能,你基本上是绝缘的.Net。你不妨回到经典的ASP。