首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# ASP.NET -一个可以从任何函数访问的变量,对于任何用户都是不同的?

C# ASP.NET -一个可以从任何函数访问的变量,对于任何用户都是不同的?
EN

Stack Overflow用户
提问于 2009-06-25 07:04:57
回答 5查看 4K关注 0票数 1

我需要一个变量,它可以在我的代码中的任何函数中使用,但对所有用户都不同。

所以我写道:

代码语言:javascript
复制
public class classedelcappero
{
    private string frasehiragana = String.Empty;
    public string ohiragana
    {
        get
        {
            return frasehiragana;
        }
        set
        {
            frasehiragana = value;
        }
    }
}

然后我把这个放到我的函数中:

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    classedelcappero chepalle = new classedelcappero();
    string frasehiragana = chepalle.ohiragana;
}

它起作用了。但是如果我从另一个函数访问它,比如

代码语言:javascript
复制
protected void ButtonRiprova_Click(object sender, EventArgs e)

值为空...这样可以吗?

该怎么办呢?使用会话变量?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-06-25 07:20:58

你可能想看看这一系列的博客文章:

  • User Context
  • Call Contexts vs. ASP.NET
  • Ambient Context
票数 1
EN

Stack Overflow用户

发布于 2009-06-25 07:14:33

这是你可以做到的一种方法,

创建一个从System.Web.UI.Page派生的类,并向该类添加一个公共属性,如下所示。

代码语言:javascript
复制
    public class MyPage : System.Web.UI.Page
    {
            public string Frasehiragana
            {
                get
                {
                    try{
                    return HttpContext.Current.Application.Contents["_Frasehiragana"] as string;
                    }
                    catch
                    {
                          return null;
                    }
                }
                set
                {
                    HttpContext.Current.Application.Add("_Frasehiragana", value);
                }
            }
    }

然后从MyPage类派生所有asp.net页面,而不是从System.Web.UI.Page派生,执行此操作后,asp.net页面背后的类代码可能如下所示。

代码语言:javascript
复制
public partial class _Default : MyPage
.
.
.

现在,您可以在所有页面中使用它,如下所示。

代码语言:javascript
复制
this.Frasehiragana;

谢谢,

票数 3
EN

Stack Overflow用户

发布于 2009-06-25 07:08:59

对于您想要绑定到特定用户的变量,是的,使用会话变量。

在您的示例中,您正在创建一个具有立即丢失的属性的对象。您需要将其存储在某个位置,并重用它以访问ButtonRiprova_Click方法中的值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1042517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档