net.core显示数据库数据页面出错

问题描述:

 

controller 的代码怎么写的? 打个断点调试。看看数据查询出来没。这个错误就是Model没有查到数据 为空了。

加判断 @if(Model!=null){

foreach(){

    ........

}

using CreditApply.Models;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using System.IO;

namespace CreditApply.Controllers
{
    public class SysUserController : Controller
    {
        private readonly SysUserService _sysUserService;

        public SysUserController(SysUserService SysUserService)
        {
            _sysUserService = SysUserService;
        }
        public IActionResult Index()
        {
            return View();
        }
        public IActionResult Login()
        {
            SysUser sysuser = new SysUser
            {
                Name = Request.Cookies["UserName"] != null ? Request.Cookies["UserName"] : "",
                Pwd = Request.Cookies["UserPwd"] != null ? Request.Cookies["UserPwd"] : "",

            };
            return View(sysuser);
        }
        [HttpPost]
        public IActionResult Login(SysUser model)
        {
            //string code = Request.Form["validateCode"].ToString().ToLower();
            //string verifyCode = HttpContext.Session.GetString("ValidateCode").ToLower();
            //if (code == verifyCode)
            //{
            //用户名和密码正确
            if (_sysUserService.Login(model))
            { //保存用户信息
                HttpContext.Session.SetString("UserName", model.Name);
                Response.Cookies.Append("UserName", model.Name);
                Response.Cookies.Append("UserPwd", model.Pwd);
                if (model.Name == "admin")
                {
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    return RedirectToAction("StudentIndex", "Home");
                }
            }
            else
            {
                ViewBag.Msg = "用户名和密码有误";
            }
            //}
            //else
            //{

            //}
            return View(model);
        }


        public IActionResult Logout()
        {
            HttpContext.Session.Clear();
            return RedirectToAction("Login");
        }
        public IActionResult ValidateCode()
        {
            VerifyCodeServices _vierfyCodeServices = new VerifyCodeServices();
            string code = "";
            MemoryStream ms = _vierfyCodeServices.Create(out code);
            HttpContext.Session.SetString("ValidateCode", code);
            Response.Body.Dispose();
            return File(ms.ToArray(), @"image/png");
        }

        public IActionResult Search()
        {
            string search = Request.Form["search"];
            List<SysUser> list = _sysUserService.SearchSysUsers(search);
            return View("Index", list);
        }

    }
}

 public IActionResult Index()
        {
            return View();
        }

没有这个action对应的是index.cshtml 这个方法你没有传值(Model),所以界面上 Model是空的

你只在Login页面传了, 

 

改成 

 

public IActionResult Index()
        {
            SysUser sysuser = new SysUser
            {
                Name = Request.Cookies["UserName"] != null ? Request.Cookies["UserName"] : "",
                Pwd = Request.Cookies["UserPwd"] != null ? Request.Cookies["UserPwd"] : "",
 
            };
            return View(sysuser);
        }

试试