C# 数据表中的for循环出错
数据表中有一个错误,我想在aspx代码中显示它。%%> 这给我带来了一个例外: 编译服务此请求所需的资源时出错。请查看以下特定错误详细信息,并适当修改源代码 代码如下:C# 数据表中的for循环出错,c#,asp.net,C#,Asp.net,数据表中有一个错误,我想在aspx代码中显示它。%%> 这给我带来了一个例外: 编译服务此请求所需的资源时出错。请查看以下特定错误详细信息,并适当修改源代码 代码如下: <%for (int i = 0; i < DTview.Rows.Count; i++)%> <% {%> <tr><%=DTview.Rows[i]["blog_total_views"].ToString(); %></tr>
<%for (int i = 0; i < DTview.Rows.Count; i++)%>
<% {%>
<tr><%=DTview.Rows[i]["blog_total_views"].ToString(); %></tr>
<tr><%=DTview.Rows[i]["first_name"].ToString(); %></tr>
<tr><%=DTview.Rows[i]["is_affiliate"].ToString(); %></tr>
<tr><%=DTview.Rows[i]["rating"].ToString(); %></tr>
<tr><%=DTview.Rows[i]["price"].ToString(); %></tr>
<tr><%=DTview.Rows[i]["current_city"].ToString(); %></tr>
<%}%>
谢谢试试这个:
<%for (int i = 0; i < DTview.Rows.Count; i++)%>
<% {%>
<tr>
<td><%=DTview.Rows[i]["blog_total_views"] %></td>
<td><%=DTview.Rows[i]["first_name"] %></td>
<td><%=DTview.Rows[i]["is_affiliate"] %></td>
<td><%=DTview.Rows[i]["rating"] %></td>
<td><%=DTview.Rows[i]["price"] %></td>
<td><%=DTview.Rows[i]["current_city"] %></td>
</tr>
<%}%>
你必须放下分号;当使用时,因为它将直接写入变量的输出,当字段值为Null时,您也将使用.ToString获得Null异常。这是否可行
<% foreach (DataRowView row in DTview)
{ %>
<tr><td><%= row["blog_total_views"].ToString() %></td></tr>
// Rest of the rows
<% } %>
至少可以说,你的方法不好 将DataTable中的数据显示为HTML表的理想方法是使用-这为您提供了最大的灵活性和对数据的控制 如果您不想花时间学习如何使用上面的方法,那没关系,第二个最好的方法是中继器控制,因此我将给出这方面所需的代码 首先,使用这样的.aspx标记:
你不也需要一个在那里吗?我认为分号不允许出现在语句的末尾。你的错误消息中引用的具体错误细节在哪里?他们怎么说?我想你或OP应该把第一个和最后一个都省略掉。@hans,谢谢你,我认为每次迭代应该只创建一个
<asp:Repeater id="rptMyView" runat="server">
<HeaderTemplate><table><tbody></HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "blog_total_views")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "first_name")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "is_affiliate")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "rating")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "price")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "current_city")%></td>
</tr>
</ItemTemplate>
<FooterTemplate></tbody></table></FooterTemplate>
</asp:Repeater>
rptMyView.DataSource = DTview;
Repeater1.DataBind();