属性在View中具有值,但在页面中显示为0

时间:2018-01-18 19:15:40

标签: html asp.net-mvc

目前我正在尝试显示用户的年龄,但在页面中显示为0.

这是视图

<div class="col-xs-6 col-sm-4 overview-box">
                        <table class="table-responsive">
                            <tbody>
                                <tr>
                                    <td class="overview-description-wrap">
                                        <span class="overview-description">@translations["Player_Age"]</span>
                                    </td>
                                    <td class="overview-info hidden-xs" style="display:table-cell">
                                        <span class="overview-info-lg">@Model.Age</span>
                                        @if (Model.ShowDateOfBirth)
                                        {
                                            <span class="overview-info-sm">(@Model.BirthDate.ToString("dd.MM.yyyy"))</span>
                                        }
                                    </td>
                                    <td class="overview-info hidden-lg hidden-sm hidden-md">
                                        <span class="overview-info-lg">@Model.Age</span>
                                        <br />
                                        <span class="overview-info-sm">(@Model.BirthDate.ToString("dd.MM.yyyy"))</span>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                    </div>

这是获取值

的动作
 public PlayerOverviewViewModel GetPlayerViewModel(int playerId, int sport, int country, int currentPlayerId = 0, int clubId = 0, string color = "")
        {
            PlayerOverviewViewModel result = new PlayerOverviewViewModel();

            Nomenclatures.Sports currentsport = (Nomenclatures.Sports)sport;
            Nomenclatures.Countries currentCountry = (Nomenclatures.Countries)country;

            var state = LoadPlayerState(playerId, sport);

            var finishedMatches = GetFinishedMatches(state, playerId, rankingId: 0).ToList();

            var upcomingMatches = GetUpcomingMatches(state, playerId, currentPlayerId, 9).ToList();
            var testMatches = ParseUpcomingChallenges(state, upcomingMatches);

            var eventInvitations = new List<EventInvitationViewModel>();

            var tournamentInvitations = GetTournamentInvitations(currentPlayerId);
            var parsedInvitations = ParseTournamentInvitations(state, tournamentInvitations);

            eventInvitations.AddRange(parsedInvitations);

            var clubLeagueInvitations = GetClubLeagueInvitations(currentPlayerId);
            parsedInvitations = ParseClubLeagueInvitations(state, clubLeagueInvitations);

            eventInvitations.AddRange(parsedInvitations);

            var playerRankings = state.PlayerRankings;

            var rankingNames = _data.OrganisationRankings.GetRankingNames(playerRankings.Select(x => x.OrganisationRankingId.Value));

            var player = state.CurrentPlayer;

            int organizationId = state.CurrentPlayer.HomeClubId ?? 0;

            var topRanking = GetPlayerRanking(state);

            var playerCareerTopRanking = GetPlayerHighestStanding(state);

            var playerCareerTopRankingDate = GetTopPlayerRankingDate(state);

            var doubleCareerTopRanking = GetTopDoubleRanking(state, sport, country);

            var doubleCareerTopRankingDate = GetTopDoubleRankingDate(state, sport, country);

            var homeclub = player.Organisation ?? new Organisation();

            var profileImg = _data.Images.PlayerImage(playerId);

            var playerCareerWins = GetPlayerCareerWins(playerId, sport, state.Challenges);

            var playerCurrentYearWins = GetPlayerCurrentYearWins(playerId, sport, state.Challenges);

            var playerCareerLooses = GetPlayerCareerLooses(playerId, sport, state.Challenges);

            var playerCurrentYearLosses = GetPlayerCurrentYearLooses(playerId, sport, state.Challenges);

            var doublePlayerCurrentYearWins = GetDoublePlayerCurrentYearWins(playerId, sport);

            var doublePlayerCareerLooses = GetDoublePlayerCareerLooses(state, sport);

            var doubleCareerWins = GetDoubleCareerWins(state, sport);

            var doublePlayerCurrentYearLooses = GetDoublePlayerCurrentYearLooses(state, sport);

            var careerEventParticipations = GetAllEventsParticipations(playerId, sport, state.Challenges);

            var currentYearEventParticipations = GetCurrentYearEventsParticipations(playerId, sport, state.Challenges);

            var doubleCareerEventParticipations = GetDoubleCareerEventParticipations(state, sport);

            var doubleCurrentYearEventParticipations = GetDoubleCurrentYearEventParticipations(state, sport);

            var best3Wins = GetBest3Wins(state, playerId);

            var singlePlayerHighestRankingCurrentYear = GetSinglePlayerHighestRankingForCurrentYear(state);


            var doublePartnerInvitation = GetDoublePartnerInvitation(playerId);

            //var playerUnavalability = this.GetPlayerSchedule(playerId);

            string racquetName = player.GetRacket();
            string shoesName = player.GetShoes();

            result.Id = player.p_id;
            result.Name = player.Name;
            result.FirstName = player.FirstName;
            result.MiddleName = player.MiddleName;
            result.LastName = player.LastName;
            result.Email = player.UserProfile.Email;
            result.Address = player.PersonalInfo.pi_address;
            result.BirthDate = player.PersonalInfo.pi_birth;
            result.Age = DateHelper.GetAge(result.BirthDate);
            result.Gender = player.PersonalInfo.pi_gender == 1 ? "Male" : "Female";
            result.UserName = player.UserProfile.UserName;
            result.Country = player.PersonalInfo.Country.Name;
            result.CountryCode = player.PersonalInfo.Country.Short.ToLower();

            result.RankingType = ((Nomenclatures.RankingTypes)topRanking.r_rankingtype).Description();
            result.RankingClass = ((Nomenclatures.EventClasses)(topRanking.r_class ?? 1)).Description();
            result.Points = topRanking.vPoints;
            result.Level = topRanking.r_level ?? 1;
            result.Standing = topRanking.vStanding;
            result.HomeClub = string.IsNullOrEmpty(homeclub.Name) ? "No home club" : homeclub.Name;

            result.ImageUrl = _manager.GetImageUrl(profileImg.img_id, Nomenclatures.ImageType.UserProfilePic);
            result.ImageId = profileImg.img_id;
            result.Racquet = racquetName;
            result.Shoes = shoesName;
            result.DominantHand = ((Nomenclatures.DominantHand)player.PersonalInfo.DominantHand).ToString();
            result.BackHand = ((Nomenclatures.Backhand)player.PersonalInfo.Backhand).ToString();
            result.Facebook = player.PersonalInfo.FacebookProfile;
            result.Twitter = player.PersonalInfo.TwitterProfile;
            result.WebSite = player.PersonalInfo.WebSite;

            result.EmailVisible = player.PersonalInfo.pi_email_v;
            result.ShowDateOfBirth = player.PersonalInfo.pi_birth_v || player.p_id == currentPlayerId;
            //result.ScheduleDays = playerUnavalability.ScheduleDays;
            //result.PlayerUnavalabilityVM = playerUnavalability;
            result.PlayerCountryFlag = player.PersonalInfo.Country.Short.ToLower();
            result.CareerWins = playerCareerWins;            
            result.GlobalEventsParticipatedSingles = careerEventParticipations;
            result.EventsParticipatedSingles = currentYearEventParticipations;
            result.CareerWinLossSingles = playerCareerWins + "-" + playerCareerLooses;
            result.WinLossSingles = playerCurrentYearWins + "-" + playerCurrentYearLosses;
            result.CareerWinLossDouble = doubleCareerWins + "-" + doublePlayerCareerLooses;
            result.WinLossDoubles = doublePlayerCurrentYearWins + "-" + doublePlayerCurrentYearLooses;
            result.GlobalEventsParticipatedDoubles = doubleCareerEventParticipations;
            result.EventsParticipatedDoubles = doubleCurrentYearEventParticipations;

            result.Best3Wins.Items = new List<ICarouselItem>(best3Wins);

            result.CareerHighSingles = playerCareerTopRanking == 0 ? "-" : playerCareerTopRanking.ToString();
            result.CareerHighDoubles = doubleCareerTopRanking == 0 ? "-" : doubleCareerTopRanking.ToString();
            result.CareerHighDateSingles = playerCareerTopRankingDate;
            result.CareerHighDateDoubles = doubleCareerTopRankingDate;
            result.SinglesHighestRankingCurrentYear = singlePlayerHighestRankingCurrentYear == 0 ? "-" : singlePlayerHighestRankingCurrentYear.ToString();
            result.DoublesHighestRankingCurrentYear = ""; //TODO: implement this
            result.DoublePlayers = new List<DoublePartnersViewModel>();//TODO: implement this
            result.PlayerRankings = playerRankings;
            result.RankingNames = rankingNames;
            result.CurrentSport = currentsport;
            result.RankingCountry = currentCountry;

            result.SportNumber = sport;
            result.CountryNumber = country;
            result.ParticipantType = (int)player.ParticipantType;
            result.Class = player.p_class ?? 1;
            result.DoubleInvitations = doublePartnerInvitation;
            result.LastDonationDate = player.LastDonationDate;
            int months;
            int.TryParse(ConfigurationManager.AppSettings["donationPeriod"], out months);
            result.IsDonated = player.LastDonationDate != null && player.LastDonationDate.Value.AddMonths(months) >= DateTime.UtcNow.Date;

            var form = finishedMatches.OrderByDescending(x => x.Date).Take(5).Select(x => x.IsWon ? "W" : "L");
            result.Form = form;

            result.MatchesSection = new MatchesSectionVM
            {
                PlayerId = playerId,
                CurrentPlayerId = currentPlayerId,
                FinishedMatches = finishedMatches,
                UpcomingMatches = testMatches,
                UpcommingMatchesWatermark = !testMatches.Any(),
                EventInvitations = eventInvitations,
                FinishedMatchesWatermark = !finishedMatches.Any(),
                LeftButtonName = "Confirm",
                WatermarkMessage = "You dont have any matches to confirm. Create a challenge or join an event",
                ShowButtons = currentPlayerId == playerId,

            };


            return result;
        }

这是显示所有内容的操作

[Authorize]
        public ActionResult Index(int clubId = 0, string color = "")
        {
            if (mPlayerID == 0)
            {
                WebSecurity.Logout();
                return RedirectToAction("login", "account", new { clubId, color });
            }

            var playerViewModel = _service.GetPlayerViewModel(mPlayerID, (int)mSport, (int)mCountry, mPlayerID, clubId, color);

            playerViewModel.HasPhoto = _data.Images.PlayerHasPhoto(mPlayerID);

            var profileCompletion = GetProfileCompletionPercents(playerViewModel);

            playerViewModel.Id = mPlayerID;
            playerViewModel.CurrentPlayerId = mPlayerID;
            playerViewModel.DonationModel = new PayPalDonationModel(_data, mPlayerID);

            playerViewModel.Languages = _cacheService.GetActiveLanguages();

            ViewBag.ProfileCompletion = profileCompletion.Item1;
            ViewBag.CompletionNext = profileCompletion.Item2;

            return View(playerViewModel);
        }

唯一没有出现的事情是出生日期和用户年龄。有什么建议 ?调试器显示属性在视图中具有值。

0 个答案:

没有答案