0

次の文字列の何が問題なのかわかりません。

"Report(" + System.DateTime.Now.ToString("dd-MMM-yyyy") + "  to  " + System.DateTime.Now.AddMonths(-1).ToString("dd-MMM-yyyy") +  ")"

連結された文字列を取得できません。私は得てReport(29-Dec-2009います。それがすべてで、残りは文字列から除外されます。

理由は何ですか?

4

7 に答える 7

9

これを試して:

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 + """";

一部のブラウザは空白をうまく処理できないようです。スペースを含むファイル名はダウンロード時に切り捨てられます。他のサイトで空白を含む他のファイル名をダウンロードできることを確認してください。

于 2009-12-29T12:34:29.687 に答える
3

あなたはそれを何かに割り当てる必要があります:

string s = "Report(" + System.DateTime.Now.ToString("dd-MMM-yyyy") + " to " + System.DateTime.Now.AddMonths(-1).ToString("dd-MMM-yyyy") + ")"

更新:質問に対する更新を見たところです。文字列をどのように表示していますか?GUIで表示していて、ラベルが短すぎて完全なテキストを表示できないと思います。

于 2009-12-29T12:33:20.843 に答える
2

これを試して:

string newstring = 
  string.Format(
                "Report ({0} to {1})", 
                System.DateTime.Now.ToString("dd-MMM-yyyy"), 
                System.DateTime.Now.AddMonths(-1).ToString("dd-MMM-yyyy")
               );
于 2009-12-29T12:34:00.957 に答える
1

結果を何に割り当てますか?string.Formatを使用すると、コードが読みやすくなります。

于 2009-12-29T12:33:03.340 に答える
1

連結された結果を何にも割り当てていないため、使用できません。

string myConcatenated = "Report(" + System.DateTime.Now.ToString("dd-MMM-yyyy") + ")";
于 2009-12-29T12:34:01.547 に答える
0

このコードを使用して...

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)

文字列が後で切り捨てられている可能性があります。このコードを実行した直後にブレークポイントを設定し、それが割り当てられている変数の値を確認してください(私の場合はテストしてください)。

于 2009-12-29T12:37:50.177 に答える
0

前の質問のように、この値を使用してファイルを作成している場合、問題の原因は「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)"。または、レポート名をスペースなしのままにします。

後者を選択しますが、ファイル名のスペースには基本的に反対です。スペースを使用すると、単純なスクリプトを作成するのが非常に難しくなります:-)

于 2009-12-29T13:09:16.820 に答える