Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在网格中绑定会话数据_C#_Asp.net - Fatal编程技术网

C# 在网格中绑定会话数据

C# 在网格中绑定会话数据,c#,asp.net,C#,Asp.net,我试图在网格中加载会话数据,但没有加载任何数据。我的代码是 protected void imageAddExtraField_Click(object sender, ImageClickEventArgs e) { List<ContentInfo> lstExtraFields = new List<ContentInfo>(); if (Session["ExtraField"] != null) {

我试图在网格中加载会话数据,但没有加载任何数据。我的代码是

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;
        }
    }
受保护的无效imageAddExtraField\u单击(对象发送方,ImageClickEventArgs e)
{
List lstExtraFields=新列表();
如果(会话[“外部字段”]!=null)
{
lstExtraFields=会话[“ExtraField”]作为列表;
}
其他的
{
ContentInfo obj=新ContentInfo();
obj.ExtraFieldValue=ckEditorExtraField.Text;
obj.ExtraField=ddlExtraField.SelectedItem.ToString();
lstExtraFields.Add(obj);
gdvExtraField.DataSource=lstExtraFields;
gdvExtraField.DataBind();
会话[“ExtraField”]=lstExtraFields;
}
}

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

  • 确保外部字段是列表对象。2.确保gridview编程显示数据(自动列生成或手动列生成)
    我不确定这是否是您的意图,但在
    会话[“extrafield”]
    中,单击
    imageAddExtraField\u与它无关。如果要添加更多对象,可能需要重构一点代码:

    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?
            }
        }
    
    受保护的无效imageAddExtraField\u单击(对象发送方,ImageClickEventArgs e)
    {        
    //检查会话中是否没有任何内容,成功后创建新列表
    if(会话[“外部字段”]==null)
    {
    会话[“ExtraField”]=新列表();
    }
    //在会话中获取对列表的引用;前面的代码确保
    List lstExtraFields=(List)会话[“ExtraField”];
    ContentInfo obj=新ContentInfo();
    obj.ExtraFieldValue=ckEditorExtraField.Text;
    obj.ExtraField=ddlExtraField.SelectedItem.ToString();
    lstExtraFields.Add(obj);
    //绑定网格
    gdvExtraField.DataSource=lstExtraFields;
    gdvExtraField.DataBind();
    //发回邮件时如何绑定?
    }
    }