我不知道什么是错的以下字符串:

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

更新:我刚才看到你更新的问题。你是如何显示的字符串?我猜你是在一个图形用户界面显示出来,并且标签太短显示完整的文本。

尝试这种情况:

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)

这可能是因为该字符串被稍后截断。请确保您在运行此代码后设置一个断点权并检查其分配(在我的测试)变量的值。

scroll top