【发布时间】:2011-04-15 18:26:10
【问题描述】:
我了解 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";
【问题讨论】:
-
在页面加载中一定要search()吗?
-
@AGoodDisplayName 的名称有点误导,但是如果条件为真,则需要在页面加载期间执行。
-
可能是因为 FindControl 中有两个“Y”吗?
ImageButton btn = (ImageButton)(Page.FindControl("displayyImgBtn"));(这段代码是剪切粘贴的吗?)
标签: c# asp.net postback page-lifecycle