次の文字列の何が問題なのかわかりません。
"Report(" + System.DateTime.Now.ToString("dd-MMM-yyyy") + " to " + System.DateTime.Now.AddMonths(-1).ToString("dd-MMM-yyyy") + ")"
連結された文字列を取得できません。私は得てReport(29-Dec-2009
います。それがすべてで、残りは文字列から除外されます。
理由は何ですか?
次の文字列の何が問題なのかわかりません。
"Report(" + System.DateTime.Now.ToString("dd-MMM-yyyy") + " to " + System.DateTime.Now.AddMonths(-1).ToString("dd-MMM-yyyy") + ")"
連結された文字列を取得できません。私は得てReport(29-Dec-2009
います。それがすべてで、残りは文字列から除外されます。
理由は何ですか?
これを試して:
string filename =
String.Format(
"Report({0:dd-MMM-yyyy} to {1:dd-MMM-yyyy})",
System.DateTime.Now, System.DateTime.Now.AddMonths(-1));
編集:ダウンロードボックスで最初の空白でファイル名が壊れているので、次のいずれかを試すことができます:
filename = HttpUtility.UrlEncode(filename); // OR
filename = """" + filename + """";
一部のブラウザは空白をうまく処理できないようです。スペースを含むファイル名はダウンロード時に切り捨てられます。他のサイトで空白を含む他のファイル名をダウンロードできることを確認してください。
あなたはそれを何かに割り当てる必要があります:
string s = "Report(" + System.DateTime.Now.ToString("dd-MMM-yyyy") + " to " + System.DateTime.Now.AddMonths(-1).ToString("dd-MMM-yyyy") + ")"
更新:質問に対する更新を見たところです。文字列をどのように表示していますか?GUIで表示していて、ラベルが短すぎて完全なテキストを表示できないと思います。
これを試して:
string newstring =
string.Format(
"Report ({0} to {1})",
System.DateTime.Now.ToString("dd-MMM-yyyy"),
System.DateTime.Now.AddMonths(-1).ToString("dd-MMM-yyyy")
);
結果を何に割り当てますか?string.Formatを使用すると、コードが読みやすくなります。
連結された結果を何にも割り当てていないため、使用できません。
string myConcatenated = "Report(" + System.DateTime.Now.ToString("dd-MMM-yyyy") + ")";
このコードを使用して...
string test = "Report(" + System.DateTime.Now.ToString("dd-MMM-yyyy") + " to " +
System.DateTime.Now.AddMonths(-1).ToString("dd-MMM-yyyy") + ")";
次のような結果が得られました。
Report(29-Dec-2009 to 29-Nov-2009)
文字列が後で切り捨てられている可能性があります。このコードを実行した直後にブレークポイントを設定し、それが割り当てられている変数の値を確認してください(私の場合はテストしてください)。
前の質問のように、この値を使用してファイルを作成している場合、問題の原因は「to」の前のスペースである可能性があります。使用してみてください:
"Report("
+ System.DateTime.Now.ToString("dd-MMM-yyyy")
+ "To"
+ System.DateTime.Now.AddMonths(-1).ToString("dd-MMM-yyyy")
+ ")"
代わりに、それで修正されるかどうかを確認してください。
それで問題が解決した場合は、ファイル名全体を引用する方法を理解して、3つの個別の引数"Report(29-Dec-2009"
、、、"to"
およびとして扱われないようにする必要があります"29-Nov-2009)"
。または、レポート名をスペースなしのままにします。
後者を選択しますが、ファイル名のスペースには基本的に反対です。スペースを使用すると、単純なスクリプトを作成するのが非常に難しくなります:-)