在三种方法之间传递两个变量

时间:2011-03-31 23:37:28

标签: c# asp.net variables methods

我如何将一个int变量和一个方法的字符串变量发送到另一个方法到最后的第三个方法?这基本上就是我设置方法的方法。显然,每个都有代码运行,但我只是想了解如何将这些变量传递给我的其他方法。

    protected void deleteOkBtn_Click(object sender, EventArgs e)
    {
        remove()
    }

    protected void imgdelbtn_Click(object sender, EventArgs e)
    {

    }

    public void remove()
    {

    }

3 个答案:

答案 0 :(得分:0)

在您的删除方法中,引发一个事件MyCustomEvent,其中包含MyCustomEventArgs,其中包含您要传递给另一个类的字段。

然后,让其他类将处理程序挂钩到此类事件中。

答案 1 :(得分:0)

您可以在页面上创建hidden field控件。

<asp:hiddenfield id="MyHiddenValue" runat="server" />

然后设置它并在(几乎)代码隐藏中的任何事件中引用它:

protected void imgdelbtn_Click(object sender, EventArgs e)
{
    if (MyHiddenValue.Value == "BAM!")
    {
        // Stuffs...
    }
}

答案 2 :(得分:0)

你是从method1调用method2到方法3吗?或者他们每个人都被用户事件调用了吗?

鉴于您调用它们,但不想更改参数名称,您可以创建一个结构并将其作为发送方对象发送,然后将其强制转换回结构,或创建一个扩展EventArgs并传递它们的新类那里。

如果用户事件调用并且您想要共享值,那么全局值将是可行的方式,或者作为Kon注释,这可能是一个asp.net页面,那么您将使用ViewState保持回发之间的值。

ViewState的示例用法如下:

public uint ClauseId
{
    get { return Convert.ToUInt32(ViewState["ClauseId"] ?? 0); }
    set { ViewState["ClauseId"] = value; }
}

然后在您的方法中,您可以访问ClauseId作为页面的属性。

Ps,我刚从一些代码中复制了这个。引号中的名称可以是您想要的任何名称,只是与读取和写入相同,并且可以与属性名称不同。您也不必使用属性,我发现如果访问多个位置比在方法中直接读取和写入ViewState更容易阅读。