在 asp:ListView 中使用 EmptyDataTemplate 插入记录
我的 asp:ListView 中有一个 EmptyDataTemplate,我想用它来插入新记录。
我已经在 InsertItemTemplate 中进行插入工作...我想我可以将 InsertItemTemplate 复制到 EmptyDataTemplate 中,单击“插入”时会出现错误
Insert can only be called on an insert item. Ensure only the InsertTemplate has a button with CommandName=Insert.
How can I use the EmptyDataTemplate to Insert a row? 我是否需要使用按钮的 OnClick 来访问 EmptyDataTemplate 中的值并自行执行插入?
我正在使用 LinqDataSource
I have an EmptyDataTemplate in my asp:ListView which I want to use to insert a new record.
I have Inserting working in the InsertItemTemplate... I thought I could copy the InsertItemTemplate into the EmptyDataTemplate, on clicking Insert this gives the error
Insert can only be called on an insert item. Ensure only the InsertTemplate has a button with CommandName=Insert.
How can I use the EmptyDataTemplate to Insert a row? Do I need to use the OnClick of the button to access the values within the EmptyDataTemplate and do an Insert by myself?
I'm using LinqDataSource
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你现在可能已经明白了
但如果您将 InsertItemPosition 设置为 None 以外的任何值,则不会呈现 EmptyData 模板,即它将始终显示插入模板,
您可以在此处阅读更多信息
http://msdn.microsoft。 com/en-us/library/system.web.ui.webcontrols.listview.emptydatatemplate.aspx
You might have figured it by now
but if you set the InsertItemPosition to anything other than None the EmptyData Template will not be rendered i.e it will always show the insert template
you can read more here
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.emptydatatemplate.aspx
如果想在空数据模板中插入数据是没有办法的。
No way if want to insert data in empty data template.
可以通过手工制作插入来从 EmptyDataTemplate 进行插入。 我正在使用列表视图根据唯一的过滤项目显示静态行数。 我基本上列出了对象的所有静态属性。 如果过滤的新对象没有任何与其关联的属性,我使用列表视图的 EmptyDataTemplate 来显示包含 ASP.NET 控件来捕获数据的 HTMLTable。 我在表中有一个命令按钮,我使用 ListView_ItemCommand 对其进行评估。 如果 CommandName 与 EmptyDataItem 中的“插入”按钮的 CommandName 匹配,我将使用 ListView.Controls(0).FindControl 方法来定位我的表。 然后,我循环遍历表并对每行中找到的数据进行插入。 我包括了如何在 htmltable 中查找控件。 在我的代码中,我实际上获取了一堆控件,然后编写 sql 并使用 SQLConnection 来执行插入。
您仍然需要进行错误检查和 databind() 并刷新列表视图。
这是最好的方法吗? 也许不是……但有可能。
〜伊恩
It is possible to do an insert from the EmptyDataTemplate by handcrafting the insert. I am using a listview to display a static number of rows based on a unique filtered item. I am basically listing all the static attributes of an object. In the case where a new object is filtered on that does not have any attributes associated with it, i use the EmptyDataTemplate of the listview to display a HTMLTable that contains asp.net controls to capture data. I have a command button within the table that i evaluate using the ListView_ItemCommand. If the CommandName matches that of the "Insert" button within the EmptyDataItem, I use the ListView.Controls(0).FindControl method to locate my table. I then loop through my table and do inserts on the data found within each row. I included the how to find a control within the htmltable. In my code I am actually grabbing a bunch of controls then crafting the sql and using a SQLConnection to perform the insert.
You will need to still do error checking and databind() and refresh your listview.
Is this the best way. Maybe not... But it is possible.
~Ian