2014-01-29 37 views
3

假设我有一个带有UI和代码的aspx页面。如何在代码后面清理整个asp.net页面?

我在事件代码的Page_Load喜欢:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    Me.Response.Write("Clean the page") 
    '..... 
End Sub 

,但是网页仍然呈现出与ASPX整个事情(所有标记)。

我想要的是在用户浏览器中唯一显示“清理页面”。 如何做到这一点?

+3

的问题是不明确的,你想以编程方式从页面删除所有服务器控件还是要防止任何HTML在所有渲染?结果是一样的,但后者可以通过多种方式实现。 –

回答

5

像这样:

Response.Clear(); 
Response.ClearHeaders(); 

也许你会想要将它与组合:

Response.End(); 
+0

响应也应该终止 - 否则其他页面生命周期事件仍将触发(并最终呈现ASPX)。我不认为在'Page_Load'时间里,实际上有任何事情已经写入了回复。* *可能*标题? – user2864740

+0

@ user2864740感谢您的关注,我只注意到它并添加了额外的评论。 – Dalorzo

2

只需卸下像所有的控件:

protected void Page_Load(object sender, EventArgs e) 
{ 
    this.Controls.Clear(); 
    Response.Write("Clean the page"); 
} 

如果你有母版页以及你可以这样做:

​​

protected void Page_Load(object sender, EventArgs e) 
{ 
    for (int i = this.Controls.Count - 1; i >= 0; i--) 
    { 
     this.Controls.RemoveAt(i); 
    } 
    Response.Write("Clean the page"); 
} 
+1

根据“干净”..的意思是什么意思..外部控件(平凡,来自主页面)和非服务器运行的HTML仍会流血。 – user2864740

相关问题