我将 Visual Studio 2010 与 c# 和 SQL Management Studio 一起使用。
我正在研究邮箱功能。
我写了一个方法,如果用户点击回复按钮,回复的内容是这样的..
private string adjustContentForReply(List<Guid> sender)
{
string content = string.Empty;
messageID = (Guid)Session["messageID"];
//haal de ontvangers uit de database van het bericht
List<Guid> receivers = m.bussinesCollection.BussinesMessageReceiver.GetReceivers(messageID);
//pas de inhoud van het bericht aan met de details van het vorige bericht
content = "<br /><br />----------------------------------------<br />";
content += "Ontvangen op: " + m.bussinesCollection.BussinesMessageReceiver.GetMessageReceiver(messageID, boxOwner).DateReceived.ToString() + "<br />";
content += "Onderwerp: " + m.bussinesCollection.BussinesMessage.GetMessageSubject(messageID) + "<br />";
content += "Van: " + m.bussinesCollection.BussinesPerson.GetFullName(sender[0]) + "<br />";
content += "Aan: ";
//Voeg één of meerdere ontvangers toe aan details
foreach (Guid rec in receivers)
{
content += m.bussinesCollection.BussinesPerson.GetFullName(rec);
if (receivers.Count() > 1)
content += "; ";
}
content += "<br />";
content += "----------------------------------------<br /><br />";
//voeg de inhoud van het vorige bericht aan de content
content += m.bussinesCollection.BussinesMessage.GetMessageContent(messageID);
return content;
}
它给了我错误
content += "Ontvangen op: " + m.bussinesCollection.BussinesMessageReceiver.GetMessageReceiver(messageID, boxOwner).DateReceived.ToString() + "<br />";
错误是
你调用的对象是空的。
GetMessageReceiver() 是这样的
public MessageReceiver GetMessageReceiver(Guid msgId, Guid personId)
{
var message = from msg in Db.MessageReceivers
where msg.MessageID.Equals(msgId) && msg.ReceiverID.Equals(personId)
select msg;
return message.Count().Equals(1) ? message.First() : null;
}
当我调试它并获取 messageId 和 BoxOwnerId 并在数据库中触发查询时,它显示给定组合的两行。
谁能帮我?
嘿,问题从那里解决了,现在我可以创建一条回复消息。但是在点击发送按钮页面时,现在在那里抛出了同样的错误。