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任何解决方案,谢谢
我不确定这是否是您的意图,但在
会话[“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();
//发回邮件时如何绑定?
}
}