Данные C# mvc отсутствуют на странице

#c# #asp.net-mvc #visual-studio-code

Вопрос:

Страница пользователя веб-сайта должна отображать информацию о пользователе, включая идентификатор, имя, адрес электронной почты, контакт и время последнего входа в систему. Все данные хорошо отображаются на веб-странице, за исключением контактов.

Это контроллер пользовательского дисплея

 [Authorize]
      public IActionResult Users()
      {
            string userid = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;         
            List<SysUser> list = DBUtl.GetList<SysUser>("SELECT * FROM Investor WHERE InvestorId = '{0}'", userid); //WHERE UserRole = 'member'
         return View(list);
      }
 

Эта модель пользователя

 using Microsoft.AspNetCore.Mvc;
using System;
using System.ComponentModel.DataAnnotations;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace DDemo.Models
{
    public class SysUser

    {
        [Required(ErrorMessage = "Please enter User ID")]
        [Remote(action: "VerifyUserID", controller: "Account")]
        public string InvestorId { get; set; }

        

        [Required(ErrorMessage = "Please enter Password")]
        [StringLength(20, MinimumLength = 5, ErrorMessage = "Password must be 5 characters or more")]
        public string InvestorPw { get; set; }

        [Compare("InvestorPw", ErrorMessage = "Passwords do not match")]
        public string InvestorPw2 { get; set; }

        [Required(ErrorMessage = "Please enter Full Name")]
        public string FullName { get; set; }

        [Required(ErrorMessage = "Please enter Email")]
        [DataType(DataType.EmailAddress)]
        [EmailAddress(ErrorMessage = "Invalid Email")]
        public string Email { get; set; } //@ sign 

        [Required(ErrorMessage = "Please enter Contact Number")]
        [RegularExpression(@"d{8}", ErrorMessage = "Please enter 8 digit number")]
        public string Contact { get; set; }

        public DateTime LastLogin { get; set; }
    }
}

 

Это точка зрения

 @model List<SysUser>

@if (TempData["Message"] != null)
{
    <div class="alert alert-@TempData["MsgType"]">
        @TempData["Message"]
    </div>
}

<h2>Investors</h2>

<table class="table table-condensed table-hover">
    <tr>
        <th scope="col">ID</th>
        <th scope="col">Name</th>
        <th scope="col">Email</th>
        <th scope="col">Contact</th>
        <th scope="col">Last Login</th>
        <th scope="col">Action</th>
    </tr>
    @foreach (SysUser user in Model)
    {
<tr>

    <td>@user.InvestorId</td>
    <td>@user.FullName</td>
    <td>@user.Email</td>
    <td>@user.Contact</td>
    <td>@String.Format("{0:yyyy-MM-dd hh:mm:ss}", user.LastLogin)</td>
    <td>


        <a asp-controller="Account"
           asp-action="UserUpdate"
           asp-route-id="@user.InvestorId">
            Update
        </a>
        <!--|

        <a asp-controller="Account"
           asp-action="Delete"
           asp-route-id="@user.InvestorId"
           onclick="return confirm('Delete User [@user.FullName]')">
            Delete
        </a>-->
    </td>

</tr>
    }
</table>

 

Как и на скриншоте, другие значения отображаются правильно, за исключением контакта
введите описание изображения здесь

Комментарии:

1. Вы проверили данные? Есть ли значение для этого идентификатора пользователя, также убедитесь, что имя столбца совпадает с именем свойства «Контакт» в базе данных

2. Какое значение имеет «список», когда возвращается ваш результат действия?

3. Вы отладили код? какое значение в поле контакт? можете ли вы, пожалуйста, сказать ? я вижу, что в поле «Контакт» есть проверка, если значение неверно, поле останется пустым.