c# - 在网格中绑定(bind) session 数据

标签 c# asp.net

我正在尝试在网格中加载 session 数据,但没有加载数据我的代码是

protected void imageAddExtraField_Click(object sender, ImageClickEventArgs e)
    {
        List<ContentInfo> lstExtraFields = new List<ContentInfo>();
        if (Session["ExtraField"] != null)
        {
            lstExtraFields = Session["ExtraField"] as List<ContentInfo>;
        }
        else
        {
            ContentInfo obj = new ContentInfo();
            obj.ExtraFieldValue = ckEditorExtraField.Text;
            obj.ExtraField = ddlExtraField.SelectedItem.ToString();
            lstExtraFields.Add(obj);
            gdvExtraField.DataSource = lstExtraFields;
            gdvExtraField.DataBind();
            Session["ExtraField"] = lstExtraFields;
        }
    }


我正在使用 VS2008 任何解决方案,谢谢。

最佳答案

我不确定这是否是您的意图,但是当 Session["ExtraFiled"] 中出现某些内容时,imageAddExtraField_Click 不会对其执行任何操作。如果您想添加更多对象,您可能需要重构一下代码:

protected void imageAddExtraField_Click(object sender, ImageClickEventArgs e)
    {        
        // check if nothing in the session, on success create a new list
        if (Session["ExtraField"] == null)
        {
            Session["ExtraField"] = new List<ContentInfo>();
        }
        // get a reference to the list in session; previous code ensures is something
        List<ContentInfo> lstExtraFields = (List<ContentInfo>)Session["ExtraField"];
        ContentInfo obj = new ContentInfo();
        obj.ExtraFieldValue = ckEditorExtraField.Text;
        obj.ExtraField = ddlExtraField.SelectedItem.ToString();
        lstExtraFields.Add(obj);

        // bind the grid
        gdvExtraField.DataSource = lstExtraFields;
        gdvExtraField.DataBind();

        // how do you bind when !PostBack?
        }
    }

关于c# - 在网格中绑定(bind) session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9408425/

相关文章:

html - Windows 中的 Chrome 63 忽略了自动完成 ="new-password"

c# - nHibernate,一对零或一对关系困境

c# - IIS 8.5 覆盖自定义 JSON 错误响应,而是返回默认的 500 错误响应页面。如何让 IIS 8.5 返回我的自定义错误?

c# - 如何使用反射检索字符串文字?

c# - FTP 下载工作多年后突然收到 "150 Opening Data channel for file download from server"

c# - ASP.NEt 应用程序中 HttpRequest.InputStream 属性的运行时类型是什么

c# - LegalCopyRight 在 FileVersionInfo C# 中始终为空?

c# - 如何在 C# 中使用 JobStorage 获取所有 Hangfire 作业的列表?

c# - 基于端点的路由 .net core 3.1 中缺少端点

asp.net - 将 Sitebuilder SQL Server 数据库导出到 Excel |格式 | MySQL