2012-02-22 12 views
0

データテーブルでエラーが発生しました。これをaspxコードで表示します。 (%>)forループinデータテーブル

それは例外私を投げる:

エラーこの要求の処理に必要なリソースのコンパイル中に発生しました。以下の特定のエラーの詳細を確認し、ソースコードを適切に変更してください。

これはコードです:

<%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> 
     <%}%> 

おかげ

+1

:背後にあるコードで次に

<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> 

まず、このよう.aspxマークアップを持っていますか? – Niklas

+3

私はステートメントの最後にセミコロンが許可されているとは思わない。 – Abbas

+1

エラーメッセージで参照されている特定のエラーの詳細はどこですか?彼らは何を言いますか? – kufi

答えて

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> 
    <%}%> 

あなたはセミコロンをドロップしなければならない(;)<% =%>を使用した場合、変数の出力を直接出力します。また、フィールド値がnullの場合は.ToString()を使用してNull例外を取得します。

+0

私は、最初の ' 'と最後の''を除いてすべてを省くべきだと思います。 –

+0

@hans、おかげさまで、すべての反復で1つしかないと思います – jerjer

2

これは機能しますか?

<% foreach (DataRowView row in DTview) 
{ %> 
    <tr><td><%= row["blog_total_views"].ToString() %></td></tr> 
    // Rest of the rows 
<% } %> 
1

あなたのアプローチは、言い表せません。

HTMLテーブルとしてDataTableのデータを表示する理想的な方法は、GridView controlを使用しています。これにより、データに対する柔軟性と制御性が向上します。

上記の使用方法を学ぶのに時間を割くのに苦労しているのであれば、必要なものについては「次善の」アプローチはリピータコントロールなので、これに必要なコードを示します。あなたも `​​`そこには必要ありません(たとえば、Page_Loadメソッド)

rptMyView.DataSource = DTview; 
Repeater1.DataBind(); 
関連する問題