我在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) 在下一行中也是如此。我该怎么做? 谢谢!
答案 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} {1}<br />", strFname, strLname);