asp.net不会在html中显示我想要的字符串

时间:2013-03-21 20:32:47

标签: c# asp.net string

我需要在两行中显示字符串中的前24个字符。我试图显示一个图表来解释我希望字符串如下所示。

--------------
|month has th|
|irthy days  |

如你所见,也有空格。

我的问题是当我尝试显示字符串时,它显示如下。

--------------
|month has   |
|thirty days |

如何在First Diagram中显示?

这是我尝试做的方式

for (int j = 0; j <= 12; j++)
     if(temp_name[j].ToString() != Environment.NewLine)
         name += temp_name[j];

     name += Environment.NewLine;

for (int j = 13; j <= 24; j++)
     if (temp_name[j].ToString() != Environment.NewLine)
         name += temp_name[j];

我正在编写前12个字符并添加一个新行,然后是接下来的十二个字符

这是我需要此功能的原因。

enter image description here 正如您所见,我的主屏幕无法正确显示项目。我把那个粗体的短水平线显示差异

这是aspx标记,

s += "<span class='th radius'><div id='" + ds.Tables[0].Rows[i].ItemArray[0].ToString() + "' class='div_product_id two mobile-one columns' style='cursor:pointer;'>" +
                                         "<img src='images/galvaniz_boru.jpg'>" +
                                         "<div class='panel'><span style='font-size:11px'>" + ds.Tables[0].Rows[i].ItemArray[2].ToString() + "<br />" + name + "</span>" +
                                         "<p class='subheader'>" + ds.Tables[0].Rows[i].ItemArray[3].ToString() + " " + ds.Tables[0].Rows[i].ItemArray[4].ToString() + "</p></div></div></span>";

4 个答案:

答案 0 :(得分:1)

您没有输出12个字符;

for (int j = 0; j <= 12; j++)
    if(temp_name[j].ToString() != Environment.NewLine)
     name += temp_name[j];

 name += Environment.NewLine;

这会导致name获取第一个 13 字符(因为你也消耗了第12个索引元素)。

for (int j = 13; j <= 24; j++)
     if (temp_name[j].ToString() != Environment.NewLine)
         name += temp_name[j];

这确实消耗了12个字符,但是它从错误的索引开始;循环应该是这样的:

for(int j = 12; j < 24; j++)
    //etc

你也可以使用类似的东西:

name += temp_name.Substring(0, 12); // do some checking by the way on length of temp_name!
name += "<br />";
name += temp_name.Substring(12, 12); //again, do some checking

另外,将Environment.NewLine更改为"<br />",因为这将使用HTML显示。

答案 1 :(得分:0)

HTML无法识别Environment.NewLine。您需要改为使用换行符<br />

第5行变为:

name += "<br />";

答案 2 :(得分:0)

你可以这样做:

<pre id="MyPre" runat="server">
</pre>

protected void ButtonServer_Click1(object sender, EventArgs e)
{
    String MyString = "month has thirty days";

    MyString = MyString.Insert(12, "\n");

    MyPre.InnerText = MyString;
}

答案 3 :(得分:0)

Dim str As String = "bu bir dübel, hem de gömlekli"
Dim str1 As String = Mid(str, 0, 12) ' bu bir dübel,
Dim str2 As String = Mid(str, 12, str.Length) ' hem de gömlekli