データ型変換で問題が発生していますが、それを理解することはできません
HiddenField hfFriendId = item.FindControl("hfFriendId") as HiddenField;
Int32 FriendId = Convert.ToInt32(hfFriendId.Value);
次の例では、FriendId を int32 として使用する必要があります。
UserInfo TargetUser = UserController.GetUserById(PortalSettings.PortalId, FriendId);
両方の引数が int32 であると予想されるためです。この「TargetUser」をデバッグすると、null になります。
問題は何ですか?