asp.net - 从母版页 asp.net 访问控件 - 存储值

标签 asp.net session static master-pages viewstate

目前我有一个母版页和一个内容页。我的母版页包含一个下拉列表,我需要从中选择一个子项。内容页面根据所选的子项加载。我应该如何存储所选的下拉值?

我认为我无法使用 session ,因为我希望用户能够打开多个选项卡并同时观看不同的子内容。如果我可以在这种情况下使用 session ,我不确定如何使用。

我认为我不能使用viewstate,因为尽管它解决了我的多个选项卡问题,但母版页和内容页具有不同的 View 状态。

目前,我在内容页面上使用公共(public)静态变量,并将其设置在母版页中。但据我所知,静态变量的值存储在网站上所有当前 session 中。

问题: 任何人都可以帮助我建议我应该使用哪种技术吗?

我也听说过“Application”对象,但我认为使用它没有意义。

当前工作代码:

(内容页)

public static string Child
    {
        get
        {
            if (child == null)
                return "-1";
            return child;
        }

        set
        {
            child = value;
        }
    }

(母版页)

protected void ddlChooseChild_IndexChanged(object sender, EventArgs e)
        {
            ContentPage.Child = ddlChooseChild.SelectedValue;
        }

最佳答案

在不同控件之间共享数据的最佳方法是使用“Items”集合(这是 HttpContext 类的属性)。该集合是一个哈希表,可以从您的页面和用户控件访问,如下所示:

Context.Items["Child"] = ddlChooseChild.SelectedValue;

关于asp.net - 从母版页 asp.net 访问控件 - 存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10217136/

相关文章:

java - 为什么非法前向引用未找到变量?

php - PHP中的公共(public)静态函数和静态公共(public)函数有什么区别?

c# - ASP.NET + C# 多项目解决方案。我应该在哪里放置我的全局效用函数?

asp.net - Entity Framework MVC 页面加载缓慢

asp.net - 依赖注入(inject)和代码可维护性

c# - session 状态提供程序性能比较

asp.net-mvc - 在 MVC4 中路由带有扩展名的 url 将不起作用,尝试提供静态文件

c# - ViewModel 中的 HTML.Raw 等效 DataAnnotation

python - sqlalchemy.orm.scoping.scoped_session 代理能力是如何实现的?

session - 对于任何 Web 应用程序或网站来说,最佳 session 超时是多少?