转换分隔符以输入字符

时间:2012-08-08 07:01:27

标签: c# asp.net

我的SQL查询检索多行的一行。我用字符串'|'存储了它分隔符以区分列。

然后在<textarea>页面的.aspx字段中打印该字符串。

我的问题是在那之后的任何方式分隔符下一列在textarea的下一行?就像按 Enter 键?

代码:

dtOutput = Generix.getData("dbo.EventMsg E Left Join dbo.ATMStatusHistory A On E.Code=A.Fault", "Distinct E.Fault_Short_Name", "A.Code In (" + sFaultNumber + ") And IsNull(Fault_Short_Name,'')<>''", "", "", 1);
sOtherFaults = "";
foreach (DataRow drOutput in dtOutput.Rows)
{
foreach (DataColumn dcOutput in dtOutput.Columns)
{
sOtherFaults += ((sOtherFaults == "") ? "" : ":") + Convert.ToString(drOutput[dcOutput]);
}
}

 sOutput += "|" + sOtherFaults + "|" + sClosedFault + "|" + sTemp + "|";
                            Response.Write(sOutput);

3 个答案:

答案 0 :(得分:2)

尝试:

string.Join(@"|\r\n", sOutput, sOtherFaults, sClosedFault, sTemp);

答案 1 :(得分:1)

我真的不明白你的意思,但试试这个

 sOutput += "|" + sOtherFaults + "|" + sClosedFault + "|" + sTemp + "|";

 Response.Write(sOutput.Replace("|", "\r\n"));

或者

 sOutput += "|" + sOtherFaults + "|" + sClosedFault + "|" + sTemp + "\r\n";

 Response.Write(sOutput);

答案 2 :(得分:1)

我认为你最好在这里使用StringBuilder,就像这样。

var responseString = new StringBuilder(sOutput);
resposeString.AppendLine("|");

foreach (DataRow drOutput in dtOutput.Rows)
{
    foreach (DataColumn dcOutput in dtOutput.Columns)
    {
        resposeString.AppendFormat("{0}:", Convert.ToString(drOutput[dcOutput]));
    }
}

// Remove last : delimiter
responseString.Remove(responseString.Length - 1, 1);

resposeString.AppendLine("|");
resposeString.Append(sClosedFault);
resposeString.AppendLine("|");
resposeString.Append(sTemp);

Response.Write(responseString.ToString());

String.Format一样,这将节省大量的中间字符串实例化,但也非常适合循环结构。