asp.net中的按钮会自动刷新页面。在调用按钮事件之前,会调用默认的Page_Load函数(我认为)。
我正在寻找一种在调用所有按钮事件后调用函数的方法。
修改
即使没有按下任何按钮,我也希望始终调用该功能。因此将函数放在按钮事件中并不起作用。
创建按钮
ImageButton enc2Button = Hardwarerecorders.DeviceManager.getEncStatusImage(d, "res/", false);
这是点击事件
enc2Button.Click += new ImageClickEventHandler(startEnc2);
按钮事件功能
void startEnc2(object sender, EventArgs e)
{
ImageButton button = (ImageButton)sender;
int arrayIndex = Int32.Parse(button.Attributes["index"]);
Hardwarerecorders.DeviceManager.startEnc((Hardwarerecorders.Device)devices[arrayIndex], false);
}
答案 0 :(得分:1)
只需覆盖OnPreRender-Method即可。它是在Control-Events之后调用的。
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
//Your stuff
}
https://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx
答案 1 :(得分:0)
使用Response.redirect("index.aspx");
作为按钮中的最后一行,这会将页面重定向到index.aspx
,而不是使用index.aspx
使用放置按钮的文件的名称,页面将刷新并且它将按预期工作。
如下 -
void startEnc2(object sender, EventArgs e)
{
ImageButton button = (ImageButton)sender;
int arrayIndex = Int32.Parse(button.Attributes["index"]);
Hardwarerecorders.DeviceManager.startEnc((Hardwarerecorders.Device)devices[arrayIndex], false);
Response.redirect("index.aspx");
}
答案 2 :(得分:-1)
你可以通过调用简单的函数来调用按钮事件后的任何函数。如果你在这里发布代码以便理解问题会很好。
答案 3 :(得分:-1)
为什么不在页面加载功能结束时调用所需的功能?每当控件进入服务器时,都会调用页面加载,从而调用您的函数。不需要单击按钮来调用该函数。