這是我遇到過的最奇怪的錯誤,因爲它沒有任何意義。我從我的控制器中獲得一個IList。我甚至可以編寫一個foreach循環並將TicketId追加到一個stringbuilder並顯示我的結果。GridView沒有任何屬性或屬性來生成列
我可以把斷點,看看我有預期的結果返回....作爲預期!在將所有的值(無拼寫錯誤,因爲我已經甚至複製粘貼&)
但如果我嘗試將其綁定到一個GridView或中繼器我得到的錯誤:ID爲「GV」的GridView的數據源沒有沒有任何屬性或屬性從中產生列
例子 - 在此代碼如果我註釋掉的數據綁定到GridView GV - 我得到的結果的TicketId的爲epxected:
LeadController controller = new LeadController();
var leads = controller.SearchProducts(DateTime.Now.AddDays(-50),
DateTime.Now, string.Empty, string.Empty);
var sb = new StringBuilder();
foreach (LeadDto lead in (leads))
{
sb.Append(string.Format("{0} -----", lead.TicketId));
}
lblTop.Text = sb.ToString();
gv.DataSource = leads;
gv.DataBind();
但是,如果DataBinding沒有被評論 - 整個頁面錯誤與以上錯誤。 這裏是我的ascx
<asp:TextBox ID="lblTop" runat="server" /><asp:GridView ID="gv" runat="server" AutoGenerateColumns="true" ></asp:GridView>
如果我改變我的GridView像這樣:
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false" >
<Columns>
<asp:TemplateField >
<ItemTemplate>
<%# Eval("TicketId") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
我得到一個錯誤,指出:數據綁定: 'DataTransferObjects.LeadDto' 不包含屬性名稱爲'TicketId'。
但我可以看到設置數據源和之前的數據綁定後,它...
我試圖關閉VS2008 &甚至重新啓動我的電腦,以防萬一它是一個魔仙錯誤....
請問,有什麼建議嗎?
沒有看到你的LeadController類,它是我很難以查明問題。什麼改變你的綁定代碼爲gv.DataSource = leads.AsEnumerable()呢? – TheGeekYouNeed 2011-01-26 23:04:51