0

我只是想检查数据库以查看用户是否与其他用户成为朋友

在控制器中

    [NonAction]
    public bool IsFriend(int UserId, int id)
    {
            int query = _service.IsFriend(UserId, id);
            if (query > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
    }

如果我可以为其传递正确的参数,这将起作用

我怎么能从我有数据的视图中使用它。我知道它不是很好的身份,例如

IsFriend(User.Id, Model.Userid)

model.userid 是朋友检查 userid 是登录用户的 id

从一个角度来看,这甚至可能吗?

使用剃须刀 cshmtl

4

1 回答 1

0

您可以将方法移动到更常见的位置(可能是帮助类),然后using在您的视图中添加语句并调用该函数

@model YourPageViewModel

@using YourProject.HelperNameSpaceName
<div>  
  @foreach(var friend in Model.KnownPeople)
  {
    <p>@friend.Name</p>
    <p>@(IsFriend(friend.ID, Model.UserId)??"is friend":" is not friend")</p>    
  }
</div>

但我建议你做的是在你的操作方法而不是你的视图中做这件事。只需检查您的 Action 方法并仅将 Friend 用户添加到您的视图模型的 Friends 集合属性中。然后在视图中,简单地显示它。

public ActionMethod Profile(int userId)
{
  var profileViewModel=new ProfileViewModel();
  var knownPeoples=repo.GetAllKnownPeopls(userId);
  foreach(var person in knownPeoples)
  {
    if(IsFriend(person.ID, profileViewModel.CurrentUserID))
      profileViewModel.Friends.Add(person);
  }
  return View(profileViewModel);
}

现在在您看来,只需编写显示代码

@model ProfileViewModel
@foreach(var friend in Model.Friends)
{
  <p>@friend.Name</p>
}
于 2013-03-10T12:44:51.937 回答