2

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

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

如您所见,也有空格。

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

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

如何显示在第一个图表中?

这是我尝试做的方式

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 个字符并换行,然后是接下来的 12 个字符

这是我需要此功能的图片。

在此处输入图像描述 如您所见,我的主屏幕无法正确显示项目。我用粗体短横线显示差异

这是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

4 回答 4

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 显示。

于 2013-03-21T21:03:17.493 回答
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
于 2013-03-21T21:04:02.467 回答
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;
}
于 2013-03-21T20:55:35.750 回答
0

HTML 无法识别Environment.NewLine. 您需要改用换行标记<br />

第 5 行变为:

name += "<br />";
于 2013-03-21T20:38:30.763 回答