2012-02-14 21 views
0

次のコードを使用して、Umbracoのユーザーコントロールにテーブルを追加しています。UmbracoユーザーコントロールのResponse.Write()はすべてのページコンテンツを消去します

Try 
    Dim DS As DataSet = GetData() 
    If DS.Tables(0).Rows.Count > 0 Then 
     Response.Write("<form><table>") 
     For Each row In DS.Tables(0).Rows 
      Response.Write("<tr>") 
      Response.Write("<td> <a onclick=alert('" & row("ID") & "')>" & row("Date") & "</a></td>") 
      Response.Write("<td>" & " - " & "</td>") 
      Response.Write("<td>" & row("Amount") & "</td>") 
      Response.Write("</tr>") 
     Next 
     Response.Write("</table></form>") 
     Response.End() 
    End If 
Catch ex As Exception 
    Response.End() 
End Try 

しかし、どのようなループが完了した後に(エラーなし - 私は全部を通じて段階ました)たまたま、ページ上の残された唯一のコンテンツはテーブルです。

私は本当に愚かなことがあると確信しています。どんな助け?

ありがとうございます!

答えて

0

Response.Write()は、この例では責任を負いません。あなたの電話番号はResponse.End()です。残りのページコンテンツは消去されませんが、実際には実行されません。

HttpResponse.End方法
クライアントに現在のすべてのバッファリングされた出力を送り、ページの実行を停止し、EndRequestのイベントを発生させます。

http://msdn.microsoft.com/en-us/library/system.web.httpresponse.end.aspx

(catch文の1が意図されている場合、または少なくともtryブロック内の1つの)それらを削除し、それがあなたのためにそれを修正する必要があります。

+0

こんにちは、お返事ありがとうございます。私は当初はResponse.End()を持っていなかったので、ループが終了した後にWebページが完全に更新されました。だから、(簡単に)空白のページにコード生成のhtml(テーブル)を表示し、元のページに戻る。 –

+0

私はこのアプローチを断念しましたが、私はその代わりにASPデータバインドリピータを使用しています。 –

関連する問題