Windows窗体Gridview与asp.net gridview不同?

Windows窗体Gridview与asp.net gridview不同?

问题描述:

我在asp.net和它的工具方面经验丰富,我总是使用gridview来填充数据库中的数据,我通常在.aspx代码中编辑它,很少在.cs代码中编辑它,但是我很喜欢windows窗体gridview,它是如何实现的与asp.net的gridview不同。它没有代码,它只能从向导和属性等编辑或以任何其他方式编辑?Windows窗体Gridview与asp.net gridview不同?

+1

你是什么意思*它没有代码*?你在说什么gridview? 'DataGridView'或? – 2014-09-30 06:16:30

+0

Windows窗体对控制操作的本地声明性能力非常有限,因此,除了一些简单的绑定方案之外,您将不得不使用大量的代码隐藏来获得所需的外观和行为。而现在这个问题有点不明确,而且过于宽泛。你能否澄清问题的另一部分:不同之处 - 互动,模板,行为......? – 2014-09-30 06:27:28

+0

liker它只有.cs代码和即时通讯谈论C#.net DataGridview,winforms – 2014-09-30 06:28:38

ASP.NET数据绑定中控件类与WinForms相对应的主要区别在于对象生命周期和用户交互。

你可以看到,DataGridView包含更多的方法,然后GridView。

DataGridView Methods - 400

GridView Methods - 147

这是由于这样的事实,WinForms控件处理过程中的用户交互,并负责处理鼠标事件,键盘事件和动态布局操作。 ASP.NET控件通常仅限于可以使用呈现的HTML实现的内容。作为一项基本功能,只有在WebForms功能绝对需要时才使用Javascript,例如回发和部分更新面板。在DataGridView中考虑以下方法:AutoResizeRow(Int32)。 ASP.NET的GridView没有这种方法,因为这种方法需要JavaScript操作,这与浏览器中的HTML渲染引擎有很大关系。这同样适用于鼠标和键盘事件。

至于数据操作方法,ASP.NET数据绑定控件包含几乎相同的一组功能。这里的区别是数据必须在进程外进行操作,并且控制状态必须是序列化的,以便在处理服务器端的回发事件之前可以恢复它。

ASP.NET每次发生服务器端事件时都需要重新创建控件实例。 这就是为什么ASP.NET GridView包含{Load,Save} {ViewState,ControlState}方法的原因。

在WinForms中,相反,只有一个控件实例需要相同的视图部分。国家生活在进程中,不需要序列化。

至于设计师支持和代码隐藏 - 它的工作方式几乎相同。