2010-06-23 94 views
0

這裏是情況,我有兩個表tblProduct和tblCategory,我想要做的是填充GridView,我有LinqDataSource綁定到網格和正確的關聯.dbml(tblProduct.CategoryID到tblCategory.ID)。字段不顯示在GridView中asp.net 3.5

爲了顯示我用從tblCategory而不是tblProduct.CategoryID在GridView的字段:

<ItemTemplate> 
    <asp:Label ID="Label5" runat="server" Text='<%# Eval("tblCategory.Name") %>'> 
    </asp:Label> 
</ItemTemplate> 

這工作了VS2008調試器中正常,但一旦其發佈到服務器(2003 + IIS6。 0)屬於tblCategory的列根本不顯示,而是顯示類別名稱(tblCategory.Name),就像它在調試器內部顯示的那樣,它是空白的,沒有錯誤不會顯示。

任何人都可以在這個?

+0

你能解釋更多關於「在VS2008調試器內部正常工作」嗎?您是否使用內置的Visual Studio Web服務器在本地查看該頁面?該值是否顯示在頁面上? – 2010-06-23 21:00:30

+0

是的,使用內置的服務器,數值顯示正確。 – OldJim 2010-06-23 22:00:46

+0

可以請你在這裏發佈和asp:SqlDataSource的select命令,可能問題在於Select。 – Aristos 2010-07-09 07:07:46

回答

0

我終究不知道到底發生了什麼,但是通過啓用DataSource中的「啓用插入」,「啓用更新」和「啓用刪除」選項,問題得以解決,列開始正常顯示即使我不使用任何這些函數,GridView僅用於顯示數據。

我不知道爲什麼有一件事會被連接到另一件事上,我最好的猜測是,也許要使用TemplateFields,您必須啓用這些選項。

我的任何活動,現在正在工作,這要感謝那些曾經試圖幫助過的人。

0

我嘲笑你描述的表和.aspx頁面,並沒有任何問題。我的直覺說這不是一個代碼問題,而是一個部署問題。我想知道:

  1. 您是否設置了「網站」項目或「Web應用程序」?
  2. 如果您使用的是「網站」項目,您選擇了哪些選項進行部署(例如:「允許此預編譯站點可更新」,「使用固定命名和單頁裝配」等)
  3. 您是否嘗試過部署到Web服務器上的新干淨區域,而不是過度使用以前的版本?
+0

馬特,該項目被設置爲一個「網絡應用程序」,在閱讀您的文章後,我創建了一個新的「網站」項目,並得到了完全相同的結果,我只有「允許此預編譯網站可更新」在Web服務器上創建了一個新區域並從頭開始重新部署,沒有任何改變,有沒有其他測試可以做?提前致謝。 – OldJim 2010-07-13 01:48:24

+0

拍攝。「網站」項目比「網絡應用程序」項目更麻煩,所以我希望你的問題是相反的。 – mattmc3 2010-07-13 02:40:31

0

您使用了哪些方法來確保您在服務器上查看的版本與您在開發計算機上的版本相同?

也許嘗試在開發頁面的底部添加註釋,然後重新部署。如果您看不到已發佈版本的評論,則表明您的部署有其他問題。

+0

我已經做到了,我甚至從服務器上清理了所有東西,從零開始重新創建了所有內容,但我確信版本匹配,感謝您花時間回答。 – OldJim 2010-07-13 00:07:08