ASP.NET Datatable 名为“xx"的列已经属于此DataTable的解决方法?
在Page_Load外面,我声明了一个静态的DataTablepublicstaticDataTabledt=newDataTable();然后在Page_Load的if...
在Page_Load外面,我声明了一个静态的DataTable
public static DataTable dt= new DataTable();
然后在Page_Load的if (!IsPostBack)里面,给这个自定义的DataTable设定了表结构,添加一些列,页面首次载入的时候没问题
但是第二次载入就会报异常:
名为“xxxxx”的列已属于此 DataTable。
这个如果不用ViewState的话,要怎么解决? 展开
public static DataTable dt= new DataTable();
然后在Page_Load的if (!IsPostBack)里面,给这个自定义的DataTable设定了表结构,添加一些列,页面首次载入的时候没问题
但是第二次载入就会报异常:
名为“xxxxx”的列已属于此 DataTable。
这个如果不用ViewState的话,要怎么解决? 展开
3个回答
展开全部
public static DataTable dt= new DataTable();
不要写成静态的,写一个方法,专门创建表结构,然后返回DataTable 只在Page_Load外声明DataTable然后将创建出的表结构在if (!IsPostBack)赋值给声明的表结构就可以了,如果想长期保存表结构最好使用GetSet,在Set里面处理表结构,这样最好。
不要写成静态的,写一个方法,专门创建表结构,然后返回DataTable 只在Page_Load外声明DataTable然后将创建出的表结构在if (!IsPostBack)赋值给声明的表结构就可以了,如果想长期保存表结构最好使用GetSet,在Set里面处理表结构,这样最好。
追问
谢谢,我按2L的方法加了个判断。
因为不想应ViewState,还得弄成全局的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Page_Load的if (!IsPostBack)里面检测dt的列数是不是已经是你设置的了,如果是就不要重复设置了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询