我在数据表中遇到错误,我想在aspx代码中显示它。 (%GT)
它给我一个例外:在编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并相应地修改源代码。
这是代码:
<%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>
<%}%>
由于
答案 0 :(得分:5)
试试这个:
<%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>
<%}%>
使用&lt;%=%&gt;时必须删除分号(;),因为它会直接编写变量的输出,当字段值使用.ToString()时也会得到Null异常是空的。
答案 1 :(得分:2)
这会有用吗?
<% foreach (DataRowView row in DTview)
{ %>
<tr><td><%= row["blog_total_views"].ToString() %></td></tr>
// Rest of the rows
<% } %>
答案 2 :(得分:1)
至少可以说,你的做法并不好。
将数据从DataTable显示为HTML表的理想方式是使用GridView control - 这为您提供了最大的灵活性和对数据的控制。
如果您不急于花时间学习如何使用上述方法,那么您需要的“第二最佳”方法是Repeater控件,因此我将为此提供所需的代码。
首先,有这样的.aspx
标记:
<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>
然后在后面的代码中:(例如Page_Load方法)
rptMyView.DataSource = DTview;
Repeater1.DataBind();