首页 > 解决方案 > 将变量的值传递给另一个方法 C#

问题描述

我是编程新手。如何将变量的值传递给另一个方法?代码变量得到一个值,但是当方法退出时,它被重置为零。我需要将 visitcode 变量设置为 code 变量的值。我试过在公共类中声明一个代码变量,但它也不起作用。我是这样做的

public partial class _Default : System.Web.UI.Page
Int32 code = new Int32();



protected void Repeater1_OnItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName == "visitcode")
    {
        Int32 code = Convert.ToInt32(e.CommandArgument);
    }
}

protected void button1_click(object sender, EventArgs e)
{
    string num = number.Value;
    string document = doc.Value;
    string format = "yyyy-MM-dd HH:mm:ss:fff";
    string stringDate = DateTime.Now.ToString(format);
    string visitcode = code
}

标签: c#asp.netwebforms

解决方案


每个 HTTP 请求都被视为一个新请求,这意味着您的“代码”变量每次到达服务器时都会被清除,因此 ASP.NET WebForms 提供了一种在会话变量中存储临时值的方法。

您的代码可能如下所示:

protected void Repeater1_OnItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName == "visitcode")
    {
        Session["Code"] = e.CommandArgument;
    }
}

在第二个请求中,您可以按如下方式检索该值:

protected void button1_click(object sender, EventArgs e)
{
    ...
    string visitcode = Session["Code"];
}

正如我所提到的,会话变量是临时的,因此您必须验证您的值是否与 NULL 不同,如果是,则意味着会话结束。

我希望它对你有用


推荐阅读