将值从一个函数传递到另一个函数

时间:2014-06-29 20:48:08

标签: c# asp.net function session variables

我试图将try {}中Button1 click事件中生成的变量值传递给另一个函数(function2)。最有效的方法是什么?会话对象?

private static string createAuthCode()
{
    RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
    byte[] buff = new byte[5];
    rng.GetBytes(buff);
    return Convert.ToBase64String(buff);
}

protected void Button1_Click(object sender, EventArgs e)
{
    //code
    //..
    try {
    ...
    string authCode = createAuthCode();
    }
    //code
    //..
    function2();
}

protected void function2()
{
    //I want to access authCode here
}

2 个答案:

答案 0 :(得分:4)

为什么不使用Manish Mishra建议的参数?

在Button1_Click中,像这样调用function2

function2(authCode);

将您的function2更改为:

protected void function2(String authCode)
{
    //access authCode here
}

答案 1 :(得分:2)

如果不能选择将参数传递给后续方法调用,则应使用HttpContext.Current.Items。它是一个内存中的对象集合,一旦请求结束就会持续(换句话说,它就是每个请求的存储空间)。