Umbraco用户控件中的Response.Write()清除所有页面内容

时间:2012-02-14 06:27:18

标签: asp.net vb.net umbraco

我正在使用以下代码将表添加到Umbraco中的用户控件。

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

但是在循环完成后会发生什么(没有错误 - 我已经完成了整个过程),页面上剩下的唯一内容就是表格。

我确信我遗漏了一些非常愚蠢的东西。有什么帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

在这种情况下,

Response.Write()不应该受到责备,这是您的Response.End()来电。它没有清除剩余的页面内容,但实际上阻止了它的运行。

  

HttpResponse.End方法
  将所有当前缓冲的输出发送到客户端,停止执行页面,并引发EndRequest事件。
  
  http://msdn.microsoft.com/en-us/library/system.web.httpresponse.end.aspx

删除它们(或者至少是try块中的那个,如果是catch语句中的那个)并且应该为你修复它。