[英]DetailsView bug when binding an empty datatable?
我正在使用.net 4.5,我發現了這種奇怪的行為:
標記:
<asp:DetailsView ID="dtvTest" AutoGenerateRows="true" DefaultMode="Insert" runat="server" />
碼:
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable("Test");
dt.Columns.Add("Column", typeof(string));
// If I uncomment the line it works!
// dt.Rows.Add("row 1");
dtvTest.DataSource = dt;
dtvTest.DataBind();
}
結果是
集合不能為空。 參數名稱:c
拋出dtvTest.DataBind()。
如果至少有一行它可以工作!! (見評論欄)。
關於如何解決/解決它的任何想法?
非常感謝
我在最近的一個項目中遇到了同樣的問題,我通過綁定空行colleciton解決了它,如下所示,(順便說一句我在你的解決方案編譯它,它工作得很好)
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable("Test");
dt.Columns.Add("Column", typeof(string));
// If I uncomment the line it works!
// dt.Rows.Add("row 1");
dt.LoadDataRow(new string[1],true);
dtvTest.DataSource = dt;
dtvTest.DataBind();
}
而且無論您添加多少列,它仍然有效。
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.