Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用asp.net插入到空数据库表中_C#_Asp.net_Sql - Fatal编程技术网

C# 使用asp.net插入到空数据库表中

C# 使用asp.net插入到空数据库表中,c#,asp.net,sql,C#,Asp.net,Sql,通过使用DetailsView控件的asp.net web应用程序,我可以允许用户将行插入到SQL数据库表中。但是,如果表为空,DetailsView将在更改为插入模式时抛出错误。System.Collections.ArrayList.InsertRange(Int32索引,ICollection c)+10647211中出现错误: 说明:执行当前web请求期间发生未经处理的异常。请查看堆栈跟踪以了解更多信息 有关错误的信息及其在代码中的来源 异常详细信息:System.ArgumentNul

通过使用DetailsView控件的asp.net web应用程序,我可以允许用户将行插入到SQL数据库表中。但是,如果表为空,DetailsView将在更改为插入模式时抛出错误。
System.Collections.ArrayList.InsertRange(Int32索引,ICollection c)+10647211中出现错误

说明:执行当前web请求期间发生未经处理的异常。请查看堆栈跟踪以了解更多信息 有关错误的信息及其在代码中的来源

异常详细信息:System.ArgumentNullException:集合不能为空。参数名称:c

我可以手动创建DetailsView
以插入到特定的表中,但我正在处理大量由用户动态选择的表

My Details View和GridView控件根据用户选择的表自动生成视图。我想要一个插入控件,根据用户选择的表自动生成文本框/标签

有没有办法避免为每个空表创建模板以允许插入

编辑:
我的DetailsView控件正在使用LinqDataSource,如果我尝试绑定到空表,则会出现相同的ArumingNullException错误

使用控件。如果表为空,它将允许您插入新行。

我找到了自己的解决方法,这是一个丑陋的解决方案,但它可以

我添加了一些SQLDataSources,每当用户要插入空表时,这些SQLDataSources都会插入临时伪记录。存在虚拟记录允许DetailsView控件进行数据绑定,然后在不再需要时将其删除


此解决方案不适用于添加到数据库中的任何新空表。而且,即使是在很短的时间内,拥有一个临时虚拟记录的效果也不完全清楚

@DavidJBarnes我已经用错误更新了我的问题。谢谢。这个问题提到这可能是.NET的一个bug。是的,但是我不是还要为每个空表列出一个模板吗?像我的DetailsView和GridView一样,我希望FormView能够根据用户选择的表自动生成。我想我的答案是仓促的。我认为您得到的空引用异常可能是回发期间的逻辑错误。发布如何绑定到数据库表,以及是使用自定义数据访问逻辑还是ObjectDataSource/SqlDataSource?DetailsView使用LinqDataSource