1

次のコードは、開発マシンではグリッドビューのデータを正しく処理しますが、サーバーでは処理しません。

グリッドビューに表示される時間パラメータに時間を追加しようとしているだけです。私の開発用PCでは正常に動作しますが、このエラーをサーバーに投稿します。

文字列が有効な日時として認識されませんでした。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。

例外の詳細:System.FormatException:文字列が有効な日時として認識されませんでした。

これが私のグリッドビューのテンプレートフィールドのコードです...

<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>

インラインコードでNullを確認するにはどうすればよいですか?

任意の提案をいただければ幸いです。

4

1 に答える 1

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>

于 2012-12-17T18:44:48.477 に答える