0

我有以下代码打印一些列表。该列表正在打印,但整数变量 i 的值未打印。

<%
int i = 1;
try
{
    foreach (LElement r in LElements)
    {
        Response.Write("<br/><div style=\"font-size:small\">");
        Response.Write("Element "+i+"="+r.name);
        Response.Write("</div>");
        i++;
    }
    Response.Write("<br/>");
}
catch (Exception)
{
    Response.Write("Error");
}
%>

它只是打印

元素 = ABC

元素 = XYZ

等等...

生成的 HTML 有点像这样:

<br/><div style="font-size:small">Element = ABC</div>
<br/><div style="font-size:small">Element = XYZ</div>
<br/><div style="font-size:small">Element = PQR</div><br/>

请告诉我这段代码有什么问题?

4

3 回答 3

3

我已经尝试重现您的问题,但不能,所以我猜测您的示例代码与您的真实代码完全不同,或者正在发生更深层次的事情?这就是我所做的并且工作正常,因此您可以以此为起点,告诉我们它是否比您的代码更有效,并且可能会突出您所犯的任何错误?

<%    
    string[] data = { "ABC", "DEF", "GHI", "XYZ" };
    int i = 1;

    try
    {
        foreach(string item in data)
        {
            Response.Write("<br/><div style=\"font-size:small\">");
            Response.Write(String.Format("Element {0} = {1}", i, item));
            Response.Write("</div>");
            i++;
        }
        Response.Write("<br/>");
    }
    catch (Exception) 
    { 
        Response.Write("Error");
    }
%>

PS我已经将输出包装成a String.Format,这将确保它被正确地转换为字符串。

于 2013-01-16T13:19:35.853 回答
2
Response.Write(String.Format("Element {0} = {1}", i, r.name));
于 2013-01-16T13:00:28.920 回答
2

试试这个:

Response.Write(String.Format("Element {0} = {1}", i, r.name));

编辑: Zarathos 领先于我 :)

于 2013-01-16T13:00:54.090 回答