Asp.net 在VB.Net中创建动态表
我是.Net新手,对创建动态表有疑问 我正在创建一个页面,当用户单击按钮时,该页面会向表中添加新行(名字、姓氏、地址等)。我一直在读到,每次回发到动态表时,都必须重新创建行。这就是我正在做的 我一直在测试这个,已经添加了大约40行,当我单击添加新行时,它运行得非常慢,我只能想象添加100行需要多长时间。我假设这是因为重新创建行需要时间 我的问题是,是否有更好的方法或其他方式来完成任务 “****在这里编辑我当前正在做的事情 这是我的表格和按钮控件: 单击按钮时的代码,创建动态表:Asp.net 在VB.Net中创建动态表,asp.net,vb.net,Asp.net,Vb.net,我是.Net新手,对创建动态表有疑问 我正在创建一个页面,当用户单击按钮时,该页面会向表中添加新行(名字、姓氏、地址等)。我一直在读到,每次回发到动态表时,都必须重新创建行。这就是我正在做的 我一直在测试这个,已经添加了大约40行,当我单击添加新行时,它运行得非常慢,我只能想象添加100行需要多长时间。我假设这是因为重新创建行需要时间 我的问题是,是否有更好的方法或其他方式来完成任务 “****在这里编辑我当前正在做的事情 这是我的表格和按钮控件: 单击按钮时的代码,创建动态表: Dim
Dim tblrow As TableRow
Dim tblcell As TableCell
Dim inputText As TextBox
tblrow = New TableHeaderRow
tblcell = New TableHeaderCell
tblcell.Text = tableCount 'variable used to count rows in the table
tblcell.HorizontalAlign = HorizontalAlign.Left
tblrow.Cells.Add(tblcell)
tblcell = New TableCell
inputText = New TextBox
inputText.ID = "txt_" & tableCount
tblcell.Controls.Add(inputText)
tblrow.Cells.Add(tblcell)
table1.rows.add(tblrow)
现在,根据我迄今为止的学习和测试,每次回发时,我都必须重建此表,以便将我输入的所有内容保留在表中
下一个问题是为什么不使用jquery添加另一行,这样就不必进行回发。我已经尝试过这种方法,在我需要将输入到表中的信息放入需要回发的数据库之前,它工作得很好。所以我回到了我原来的问题
注意,如果有更好的方法来解决这个问题,我会洗耳恭听。就像我之前说的,我对这种语言还不熟悉,我只是想学习。我给你的建议是使用它是一个免费的开源jquery插件,但也可以在商业上买到。它数据加载速度快,具有很多动态特性
如果您了解javascript和jquery,那么这将很容易使用,它是Asp.Net、mvc和php组件,您使用的是windows窗体吗?如果是,请使用ListView控件并将视图(我相信这就是它的名称…)更改为详细信息。然后,您可以使用许多教程中的一个来填充列表:
如果不使用Windows论坛,很抱歉,我看到了VB.net部分并假设。asp.net是一种服务器端web技术,这意味着您使用的是无状态技术(基本上)。这就是为什么每次回发都要重建所有内容 有几种处理方法:
- 使用asp.net ViewState并在PageLoad上检查Page.IsPostback
- 使用jQuery和客户端模板(如Pure)并通过Web服务获取数据
例如,当您创建一个DataGrid并使用ViewState时,您不必显式地重新创建DataGrid,因为asp.net在正确使用时会处理它。对于动态表,您的意思是您正在为表编写HTML;或者你正在使用一个控件,比如gridview,等等?总有更好的方法来完成一些事情。尝试研究AJAX并在客户机上构建表,而不是进行回发。记住jQuery是您的朋友。最终,您的代码可能会变得更简单、更容易理解,并且您将学会一些新技巧。网格视图通常只适用于快速和肮脏的黑客,因为它们很容易陷入混乱?客户端上构建的所有东西都需要重新构建吗?您可以共享一些代码吗?在这里查看一些代码可能很重要,因为有许多因素可能会影响服务器的时间/反应。可能存在冗余代码部分或循环。请分享代码。