none
转换 换行符 RRS feed

  • 问题

  • string temptext = tempcontent.Replace("\n", "<br/>");
    div1.InnerHtml = temptext ;

     //ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "alt1", "alert('" + temptext + "');", true);

    为什么div不能换行?还在显示 \n
    而信息框显示的信息可以换行啊! 哪里错了

    2009年11月10日 16:21

答案

  • 注意 @ 的使用,使用 @ 后将 \ 转换为 \\

    string output = "换行\n换行\n换行\n换行";

    output = output.Replace("\n""<br />");
    div1.InnerHtml = output;

    知识改变命运,奋斗成就人生!
    • 已标记为答案 lfj0912 2009年11月11日 4:45
    2009年11月11日 4:34
    版主

全部回复

  • \n是语言换行符 你在消息框看到能换行 那是语言编译器把\n编译成换行
    div是属于html领域 它不认这个\n换行符 直接把它当字符串输出
    2009年11月10日 16:45
  • 谢谢您!
    string temptext = tempcontent.Replace("\n", "<br/>");
    这里转换不过来吗?
    2009年11月10日 22:59
  • 你好!

    这样做是可以的嘛

        protected void Page_Load(object sender, EventArgs e)
        {
            string output =
            @"换行
    换行
    换行
    换行";
    
            output = output.Replace("\n", "<br />");
            div1.InnerHtml = output;
        }


    知识改变命运,奋斗成就人生!
    2009年11月11日 1:07
    版主
  • 谢谢您!
    为什么改成以下就不行了:

    string output = @"换行\n换行\n换行\n换行";

    output = output.Replace("\n", "<br />");
    div1.InnerHtml = output;

    2009年11月11日 3:13
  • 注意 @ 的使用,使用 @ 后将 \ 转换为 \\

    string output = "换行\n换行\n换行\n换行";

    output = output.Replace("\n""<br />");
    div1.InnerHtml = output;

    知识改变命运,奋斗成就人生!
    • 已标记为答案 lfj0912 2009年11月11日 4:45
    2009年11月11日 4:34
    版主