用于组合多个动作的c#语法

时间:2015-02-05 19:23:04

标签: c# asp.net

我知道这是一个非常基本的问题,我相信在论坛上已有答案。我甚至不知道如何正确地将其用于搜索,所以这里就是这样。我有一个按钮,其OnClick属性设置为" InsertCard"以及相应的代码:

protected void InsertCard (object source, EventArgs e) {
SqlDataSource1.Insert();
}

这完全符合预期。我还想在单击按钮后清除页面上的所有文本框。如果我将OnClick属性更改为" ClearText"并具有相应的代码:

protected void ClearText_Click(object sender, EventArgs e)
{
    ClearControls();

}
private void ClearControls()
{
    foreach (Control c in Page.Controls)
    {
        foreach (Control ctrl in c.Controls)
        {
            if (ctrl is TextBox)
            {
                ((TextBox)ctrl).Text = string.Empty;
            }
        }
    }
}

这也非常有效。

我的问题是我如何将两个动作组合成一个,这样当我单击按钮时,我将数据插入数据库然后清除所有字段?我尝试了很多变化但总是得到某种类型的编译器错误。

此外,是否有某种类型的指南可以帮助我使用正确的语法来提问/搜索答案?

2 个答案:

答案 0 :(得分:5)

为什么不能在按键点击响应中调用这两个功能?

protected void InsertCard (object source, EventArgs e) {
    SqlDataSource1.Insert();
    ClearControls();
}

private void ClearControls()
{
    foreach (Control c in Page.Controls)
    {
        foreach (Control ctrl in c.Controls)
        {
            if (ctrl is TextBox)
            {
                ((TextBox)ctrl).Text = string.Empty;
            }
        }
    }
}

这是你要问的吗?如果不是,您可能需要更具体。

答案 1 :(得分:2)

如果我没有错过阅读问题,请在插入记录后调用其他功能。

protected void InsertCard (object source, EventArgs e) {
   SqlDataSource1.Insert();
   ClearControls();
}

private void ClearControls()
{
    foreach (Control c in Page.Controls)
    {
        foreach (Control ctrl in c.Controls)
        {
            if (ctrl is TextBox)
            {
                ((TextBox)ctrl).Text = string.Empty;
            }
        }
    }
}