簡體   English   中英

DetailsView綁定空數據表時的錯誤?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM