2012-12-17 65 views
1

以下代碼正確處理我的gridview在我的開發機器上,但不是我的服務器上的數據。代碼工作在開發電腦,但不是服務器

我只是試圖添加小時到GridView中出現的時間參數。它工作正常,我的開發PC上,但這個職位上的錯誤....服務器

字符串未被識別爲有效的DateTime。 描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.FormatException:字符串未被識別爲有效的DateTime。

這裏是我的gridview的模板字段代碼...

<ItemTemplate> 
    <asp:Label ID="Label1" runat="server" Text='<%# String.Format("{0:hh:mm:ss tt}", Convert.ToDateTime(Eval("eventTime").ToString).AddHours(-5)) %>' ></asp:Label> 
</ItemTemplate> 

我如何檢查空與內嵌代碼?

任何建議將不勝感激。

+2

奇怪的是,它會唯一的錯誤出在服務器上。你是否能夠捕捉「eventTime」變量以查看它傳遞的內容? – MadHenchbot

+0

那麼,有NULL,但開發設置處理它們,Web服務器沒有。大多數其他記錄是24小時格式的時間。 – htm11h

回答

3

這聽起來像是本地開發者和服務器之間的數據問題;我會檢查什麼被推到eventTime。我敢打賭,這不是一個有效的DateTime

編輯

根據您的編輯,你可以使用三元運算(?:)執行內聯空檢查:

<asp:Label ID="Label1" runat="server" Text='<%# Eval("eventTime") != null ? String.Format("{0:hh:mm:ss tt}", Convert.ToDateTime(Eval("eventTime").ToString).AddHours(-5)) : "No time specified" %>' ></asp:Label>

+0

那麼,有NULL,但開發設置處理它們,Web服務器沒有。 – htm11h

+0

謝謝馬克,這是我正在尋找。 – htm11h

相關問題