我只是想检查数据库以查看用户是否是与其他用户的朋友
控制器中的
[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
是否可以从视图中执行此操作?
使用razor cshmtl
答案 0 :(得分: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>
}