在aspx中添加html

时间:2012-11-19 17:09:55

标签: asp.net html for-loop

我在ASPX中有这个for循环

 for (i = 0; i < ds.Tables[0].Rows.Count; i++)
        {

            strFname += ds.Tables[0].Rows[i]["first_name"].ToString();
            strLname += ds.Tables[0].Rows[i]["last_name"].ToString();
            str = String.Format("{0} {1} ", strFname, strLname);


        }

我希望Fname在Fname旁边,在下一行中相同(直到最后一个) 我希望在每一行中,名字将在姓氏旁边(在每一行中只有一个Fname和一个Lname) 在下一行中也是如此。我该怎么做? 谢谢!

4 个答案:

答案 0 :(得分:1)

Response.Write打印到HTML输出流。 http://msdn.microsoft.com/en-us/library/ms525585(v=vs.90).aspx

Response.write(str);

您还可以使用输出的简写表示法

<%= str %>

<%: str %>

答案 1 :(得分:1)

使用Repeater控件更适合您的情况。在其标记中,您可以使用td在LastName旁边显示FirstName,并在tr中显示它们。请参阅example

答案 2 :(得分:1)

由于您未显示完整代码,因此我们不确定您是如何在整页上显示此代码的。您可以使用Repeater,Gridview,Listview或某些自定义显示容器。

以下是如何使用ListView执行此操作的示例:

Default.aspx的:

<asp:ListView ID="lvData" runat="server" ItemPlaceholderID="phItem" OnItemDataBound="lvData_ItemDataBound">
  <LayoutTemplate>
    <table>
      <thead>
        <tr>
          <th>Fullname</th>
        </tr>
      </thead>
      <tbody>
        <asp:PlaceHolder ID="phItem" runat="server" />
      </tbody>
    </table>
  </LayoutTemplate>
  <ItemTemplate>
    <tr>
      <td><asp:Literal ID="litFullname" runat="server" /></td>
    </tr>
  </ItemTemplate>
</asp:ListView>

Default.aspx.cs

protected void lvData_ItemDataBound(object sender, ListViewItemEventArgs e)
{
  //Get the data item that was passed in, in this case which number for this row.
  var data = (int)e.Item.DataItem;

  //Create temp first and last names
  var firstName = "First" + data.ToString();
  var lastName = "Last" + data.ToString();

  //Display it to the listview
  var litFullname = (Literal)e.Item.FindControl("litFullname");
  litFullname.Text = string.Format("{0} {1}", firstName, lastName);
}

答案 3 :(得分:0)

str = String.Format("{0}&nbsp;{1}<br />", strFname, strLname);