从存储值的母版页访问控件



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

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

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

目前,我在内容页面上使用公共静态变量,并在母版页中设置了它。但据我所知,静态变量的值存储在站点上的所有当前会话中。

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

我也听说过"应用程序"对象,但我认为使用它没有意义。

当前工作代码:

(内容页)

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;

除非您使用 PageID 或类似内容限制会话,否则会话在多个选项卡上可用。

查看这篇文章,母版内容页交互

最新更新