按钮事件后运行功能

时间:2016-03-08 10:03:41

标签: c# asp.net events button pageload

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);
}

4 个答案:

答案 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)

为什么不在页面加载功能结束时调用所需的功能?每当控件进入服务器时,都会调用页面加载,从而调用您的函数。不需要单击按钮来调用该函数。