asp.net datagrid回发所有行
我在这里面临一个小问题…我需要一个datagrid控件,它在客户端维护(用户将在覆盖控件中在客户端编辑网格,而不与服务器交互,我将在这里使用javascript添加/编辑行)…所以当用户点击save按钮时(这将是一个ajax调用)在表单上,我希望将此网格中的所有数据(网格将少于50行)提交给服务器。我使用的网格来自组件艺术工具,它只发回添加或编辑的行。我不要这个。因此,我正在考虑使用asp.NETGridView。我不确定asp.net gridview是否执行此操作。有人知道这一点吗?或者有更好的方法来实现我想要做的事情吗?aasp.net datagrid回发所有行,asp.net,gridview,postback,Asp.net,Gridview,Postback,我在这里面临一个小问题…我需要一个datagrid控件,它在客户端维护(用户将在覆盖控件中在客户端编辑网格,而不与服务器交互,我将在这里使用javascript添加/编辑行)…所以当用户点击save按钮时(这将是一个ajax调用)在表单上,我希望将此网格中的所有数据(网格将少于50行)提交给服务器。我使用的网格来自组件艺术工具,它只发回添加或编辑的行。我不要这个。因此,我正在考虑使用asp.NETGridView。我不确定asp.net gridview是否执行此操作。有人知道这一点吗?或者有更
GridView
可以工作,因为它使用ViewState
来维护它的信息。回发期间,您可以访问所有记录,包括更改和未更改的值
在编辑网格时,有多种方法可以解决AJAX需求。最简单的解决方案是将网格包装在一个UpdatePanel
中,并挂接到所选网格中,例如,等等。服务器通过异步回发处理的所有操作都将无缝地传递给用户,不会出现难看的闪烁等
标记示例:
<asp:UpdatePanel UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="MyGridView" runat="server" OnRowUpdated="MyGridView_RowUpdated" .. />
</ContentTemplate>
</asp:UpdatePanel>
有了以上内容,您仍然需要根据您的需求确定如何存储数据和绑定等…A
GridView
可以工作,因为它使用ViewState
来维护其信息。回发期间,您可以访问所有记录,包括更改和未更改的值
在编辑网格时,有多种方法可以解决AJAX需求。最简单的解决方案是将网格包装在一个UpdatePanel
中,并挂接到所选网格中,例如,等等。服务器通过异步回发处理的所有操作都将无缝地传递给用户,不会出现难看的闪烁等
标记示例:
<asp:UpdatePanel UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="MyGridView" runat="server" OnRowUpdated="MyGridView_RowUpdated" .. />
</ContentTemplate>
</asp:UpdatePanel>
根据以上内容,您仍然需要确定如何存储数据并进行绑定,等等。根据您的要求…为什么要将未编辑的行发送回服务器?如果输入字段中有一些无效数据,则我无法将此记录保存到数据库中,因此我会将其发送回报告错误的客户端,并希望数据网格中的所有数据都显示在那里。现在,当用户更正错误并再次提交页面时,将不会为这次未更新的任何行调用更新网格函数,因此这些数据将丢失。您可以发布一些示例代码吗?我不确定是否可以发布一段代码来描述我的问题的任何部分。代码太大了。我也在使用component art(第三方工具)。为什么要将未编辑的行发送回服务器?如果输入字段中有一些无效数据,则我无法将此记录保存到数据库中,因此我会将其发送回报告错误的客户端,我希望datagird中的所有数据都显示在那里。现在,当用户更正错误并再次提交页面时,将不会为这次未更新的任何行调用更新网格函数,因此这些数据将丢失。您可以发布一些示例代码吗?我不确定是否可以发布一段代码来描述我的问题的任何部分。代码太大了。我也在使用组件艺术(第三方工具)。谢谢你的回复。我想我还有一个问题没有解决。最初,用户所在页面的数据库中没有记录。用户填写一些字段并点击提交,如果输入字段中有一些无效数据,则我无法将此记录保存到数据库中,因此我会将其发送回报告错误的客户端。现在,当用户更正错误并再次提交页面时(他这次可能不会编辑datagrid),则不会为这次未更新的任何行调用update/insert grid函数,因此这些数据将丢失。如果使用GridView,则可以将每条记录保存在数据库中,并在回发过程中恢复。如果添加了另一条有错误的记录,第一条记录不会丢失。这是一种常见的.net设计模式。我不知道为什么它对你不起作用…一个记录由许多输入字段和2或3个数据网格组成,随着时间的推移,我们将向这个记录添加更多内容。如果记录有错误,我无法将记录保存到数据库中(除非您更正记录,否则不会将任何内容保存到数据库中),因为在我添加新记录时,大约有15个表会受到影响。如果数据库不允许来自某些输入字段的值,它将完全拒绝该记录,那该怎么办呢?是的,听起来你已经忙得不可开交了。祝你好运!:)谢谢你的帮助。事实上,我决定使用回发而不是AJAX,这解决了所有问题。谢谢你的回复。我想我还有一个问题没有解决。最初,用户所在页面的数据库中没有记录。用户填写一些字段并点击提交,如果输入字段中有一些无效数据,则我无法将此记录保存到数据库中,因此我会将其发送回报告错误的客户端。现在,当用户更正错误并再次提交页面时(他这次可能不会编辑datagrid),则不会为这次未更新的任何行调用update/insert grid函数,因此这些数据将丢失。如果使用GridView,则可以将每条记录保存在数据库中,并在回发过程中恢复。如果添加了另一条有错误的记录,第一条记录不会丢失。这是一种常见的.net设计模式。我不知道为什么它对你不起作用…一个记录由许多输入字段和2或3个数据网格组成,随着时间的推移,我们将向这个记录添加更多内容。如果记录有错误,我无法将记录保存到数据库中(除非您更正记录,否则不会将任何内容保存到数据库中),因为在我添加新记录时,大约有15个表会受到影响。如果数据库不允许