【发布时间】:2014-06-19 14:33:56
【问题描述】:
我正在尝试学习 c# 和 asp.net 网络表单,并且正在开发一个类似于 reddit 或 facebook 的功能的应用程序。用户可以创建帐户、发送和接受好友请求、留言等。
我已经实现了发送好友请求的功能,但在用户可以接受请求的部分卡住了。这是c#:
using (Database.DataModelDataContext db = new Database.DataModelDataContext())
{
//Guid RequesterId = new Guid(Request.QueryString["ID"]);
CRANK.Database.Friendship RequestAccept = new Database.Friendship
{
ID = Guid.NewGuid(),
UserA = base.UserId,
UserB =
};
db.Friendships.InsertOnSubmit(RequestAccept);
db.SubmitChanges();
}
如您所见,UserA 将使用已登录的用户 ID 添加到数据库中。我不知道如何获取 UserB 或发送原始好友请求的人的信息。我假设我们可以以某种方式从 asp.net 中的代码中获取它。
【问题讨论】:
-
这里是一些asp.net代码:
' />
抱歉格式错误!不知道如何解决。 -
您应该在初始友谊请求中存储
UserB的用户ID。 -
我假设它存储在 hfProfileID 隐藏字段中。因此,您可以使用 hfProfileID.Value 访问它。 UserB = hfProfileID.Value;
-
我不知道我是否可以,因为这是原始请求的发送方式:我通过以下方式获取接收者 ID:Guid pageUserId = new Guid(Request.QueryString["id"]) ;并使用 base.UserID 作为发件人。
-
如果您没有类似 FriendRequest 对象的东西,请创建一个。然后创建一个新表来存储所有待处理的 FriendRequests。在这里,您将有一列用于 UserA,一列用于发送请求 UserB 的人员的 ID 以及任何其他相关数据。当请求被接受时,您更新待处理表,删除该请求的记录并在
Friends表中为该用户创建一个新记录。同样,如果您需要访问某个用户的待处理好友请求,只需查询该用户的待处理请求表即可。