【发布时间】:2011-12-23 18:18:04
【问题描述】:
在一个 asp.net webform 项目中,我有一个会话变量,我用来自我的业务对象的数据填充该变量。此对象包含 Icollections,而这些 Icollections 又绑定到 gridviews。
myBase.GetAssocMInvolvedPeople(); //call to Business object
if (myBase.AssocMInvolvedPeople != null)
{
Session["sessBase"] = myBase; //sync session with object results
gv_Names.DataSource = myBase.AssocMInvolvedPeople; //bind Icollection to grid
gv_Names.DataBind();
gv_Names.Visible = true;
}
然后在网格上的行选择中,我检索所选行的对象 ID
GridDataItem selectedItem = (GridDataItem)gv_Names.SelectedItems[0];
SecondaryID = selectedItem["ObjectId"].Text;
目标是获取对象 ID 并查询会话变量 (sessBase) 以检索集合的剩余值(在网格中不可见)并以表单/文本字段格式在 UI 中显示它们。我认为最好的方法是使用 Linq 查询会话变量,但我被困在这里如何去做或访问嵌套集合 (AssocMInvolvedPeople) 。
我假设要在方法中设置它,我会将我的对象重置回会话变量:
protected void GetAdditionalData()
{
myBase = (BusinesObjectName)Session["sessBase"];
//here is where I am stuck how to query this object and select the records based upon the selected ID
...
}
如果有任何关于检索此数据的最佳方法的提示或建议,我将不胜感激
谢谢你,
【问题讨论】: