在asp.net中,page_load发生在单选按钮OnCheckedChanged事件之前

时间:2011-10-07 19:13:02

标签: asp.net vb.net radio-button oncheckedchanged

我的asp.net页面上有两个单选按钮,AutoPostBack = True
当我点击其中任何一个时,它们都会设置标记SaveData=False

但是,当我单击它们时,首先发生page_load事件,因此page_load事件会保存数据,然后触发radiobutton_OnCheckedChanged事件。

如何在OnCheckedChanged事件之前触发page_load

5 个答案:

答案 0 :(得分:2)

你不能。

您需要阅读page lifecycle

答案 1 :(得分:1)

您无法在OnCheckedChanged之前触发radiobutton_OnCheckedChanged,因为这是正常的网页生命周期。

如果Page.IsPostBack为真,您可以检入Page_Load,然后不保存(或保存)数据。

答案 2 :(得分:1)

特洛伊 - 你必须在客户端(javascript / jquery)处理这个问题。 您的AutoPostBack = True会导致表单执行回调调用页面加载。 关于页面生命周期和服务器端事件如何工作的全部内容。

答案 3 :(得分:0)

在触发事件之前,您无法始终加载页面。这与控件创建,视图状态管理,控制状态等有关。

您希望在Page_Load中执行的操作类似于:

if(!this.IsPostBack) 
{
   // Do the stuff you want on the initial page load
}

单击单选按钮时,想要发生的任何事情都会发生在if {}块内。 IsPostBack表示该页面正在处理回发事件,即单击其中一个单选按钮时会发生这种情况。

答案 4 :(得分:0)

can't change order/sequence事件处理程序执行。但是,您可以将page_load中的代码移动到另一个event handler