Visual Studio 2010とC#およびSQLManagementStudioを使用しています。
私はメールボックス機能に取り組んでいます。
ユーザーが返信ボタンをクリックすると、返信の内容が次のようになるメソッドを作成しました。
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を取得し、データベースでクエリを実行すると、指定された組み合わせに対して2つの行が表示されます。
誰かが私を助けることができますか?
問題はそこから解決され、返信用のメッセージを作成できるようになりました。しかし、送信ボタンのページをクリックすると、同じエラーがそこにスローされます。