我们可以避免使用
如果(!Postback){.....代码运行一次....}
<_>在Page_load()中答案 0 :(得分:5)
我对ASP.NET事件并不是特别“热”,但你不认为是否有比通常的“if (!Postback)
”更好的方法(在普通的ASP.NET模型中),每个人都已经在使用它了吗?
我怀疑可能有一些狡猾的方法来避免它,但只是作为“聪明”的代码,这将使其难以维护。
单个if
声明并不完全可怕......
(当然,我不是ASP.NET模型的忠实粉丝,但是如果你已经在这个模型中,那么还有更糟糕的事情需要解决。)
答案 1 :(得分:1)
答案 2 :(得分:0)
如果您希望在后续回发中不发生该事件,则必须在
中编写代码if ( !IsPostBack )
{
}
答案 3 :(得分:0)
不,你不能,因为网络是无状态的,因此每次请求时都需要加载每个ASP.NET页面。
答案 4 :(得分:0)
没有这样的事件/方法可以在运行一次的页面生命周期中连接代码。每次页面实例都经过相同的步骤。那是模型。
答案 5 :(得分:0)
没有一个事件只被调用一次。在ASP.NET MVC中,您可以使用AcceptVerbs
属性区分GET和POST,但这类似于IsPostBack
,查看Request
对象。
ViewState
之前调用 Init
,这样可能会有所帮助,只有在加载ViewState时才会调用LoadViewState
方法。
这是上述链接的简化:
OnInit:1
LoadViewState:2
CreateChildControls:3
OnLoad:4
ShowButton:5
OnPreRender:6
渲染:7
OnUnload:8
第3号可以在链中的任何一点发生。