namespace Messages
{
public partial class Email
{
List<Document> attachments = new List<Document>();
protected void Page_Load(object sender, EventArgs e)
{
foreach(Document document in documentList)
{
attachments.Add(document);
}
}
protected void btnSend_Click(object sender, EventArgs e)
{
sendMail(attachments);
}
}
}
你可以猜到,为了解释的目的,我已经删除了这段代码,但这几乎就是我正在做的所有事情。我有一种感觉,这与深/浅复制和克隆有关,如果是这样的话 - 有人可以帮助解释这里发生了什么以及我如何避免它/以不同的方式填充列表。
非常感谢,
担
编辑:对不起,我写的“documentList”实际上是这样写的:
(List<Document>)Session[Request.QueryString["documentList"]]
所以你 - 它来自会话变量。使用断点我可以看到附件列表被填充得很好,但是当涉及到点击事件处理程序时它是空的!?不为空,只是计数 == 0。