ASP.net页面生命周期问题
|
我了解ASP.net页面生命周期,当我单击按钮时,它会首先重新加载页面,然后为按钮执行后面的代码。我的问题是如何获得它,以便可以在此过程之前进行设置。我试图传递一个已单击按钮的变量,但是由于页面生命周期的原因,它从未收到此消息。我该怎么做才能确定是否已单击此按钮,可能是我对此考虑过多,甚至考虑不足。
页面加载:
ImageButton btn = (ImageButton)(Page.FindControl(\"displayYImgBtn\"));
if (btn != null)
{
string state = btn.CommandArgument;
if (state == \"true\")
{
search();
btn.CommandArgument = \"false\";
}
}
按键:
ImageButton btn = (ImageButton)(sender);
btn.CommandArgument = \"true\";
没有找到相关结果
已邀请:
4 个回复
财沟项胶
集合中具有一个值,如果它不是回发或其他控件引起的回发,则不应出现。
峨躬坎抬焚
代码放在
上。这将在“ 5”之后发生,因此可以确保任何按钮的单击都已被处理。请务必注意,根据您要在此处执行的操作,它可能不起作用。在此类后续事件中,某些组件不接受某些属性更改。如果可行,这是推荐的方法。 在您的按钮上创建一个新事件,当您更改ImageButton的CommandArgument时将触发该事件。然后,在Page_Load上,为新按钮的事件创建一个处理程序,并将您示例中的代码放在Page_Load中。使用此方法将导致此处理在OnPreRender之前进行
锯康
并为您的ImageButton设置一个OnClick事件
淘圃跺枯替
在后面的代码中:
在这两种模型中,都应创建按钮,并且方法应在回发时执行(单击按钮时)。 如果希望在触发按钮单击事件之前设置其他配置信息,则需要在Page.Load事件或Page.Init事件中进行设置。无论何时选择接触控件并设置变量,都不得以任何方式将其从发回状态更改。如果ImageButton的格式不完全像以前一样,则您将不会收到回发事件。