代碼添加GridView的列我有這顯示了有關某些文件的一些細節一個gridview。它有5列,包括一個包含複選框的模板字段。問題與從後面
從後面的代碼,OnInit中,我添加了一個號碼可能會或可能不會根據網頁上需要的附加信息欄。代碼如下:
for (int i = 0; i < models.Length && i < 3; i++)
{
var model = models[i];
//Add gridview rows
BoundField bf = new BoundField();
bf.DataField = "Attribute" + i;
bf.HeaderText = model.AttributeName;
bf.Visible = true;
gvFiles.Columns.Insert(6 + i, bf);
}
這很好,我得到的列。在OnLoad事件中,我將某些數據綁定到gridview,並且工作正常。
的問題,當回發時上升。每當頁面創建一個回傳,它執行的OnInit,然後用這個(「上頁」)的錯誤消息崩潰:
出現了一個錯誤,因爲ID爲「ctl00 $搜索Maincontent $ gvFiles $ ctl02 $ ctl00」控制無法找到,或者在回發之後將其他控件分配給相同的ID。如果未分配ID,請顯式設置引發回發事件的控件的ID屬性以避免此錯誤。
我確定出現問題的控件是TemplateField中的複選框,我給它一個id。但是現在,在回發時會發生以下情況:
在TemplateFieldss複選框不會出現
其中 列是一個ImageField的,它失去了它的「控制風格 寬/高「參數和我得到巨大的圖像。
該問題只發生在回發,並刪除代碼,在文法上添加專業版的列,使一切工作完美。
我該如何得到這個工作?
HTTP://www.codeproject。com/Questions/659792/Add-GridView-Column-Dynamically-ASP-Net –
分享更多ASPX標記和代碼隱藏(你綁定GridView並分配模板的地方)。 – Mikhail
做回發模型的數量變化嗎? – Clinton