当我运行代码时,出现此错误

时间:2019-08-08 10:58:41

标签: c# asp.net asp.net-mvc

尝试使用asp.net mvc时出现此错误

对于“ Contr1.Controllers.HomeController”中的方法“ System.Web.Mvc.ViewResult Index(Int32)”,参数字典包含一个非空类型“ System.Int32”的参数“ id”的空条目。可选参数必须是引用类型,可为空的类型,或者必须声明为可选参数。

namespace Contr1.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public ViewResult Index(int id)
        {
            EmployeeBusinessLayer employeeBL = new EmployeeBusinessLayer();
            Employee employee = employeeBL.GetEmployeDetails(175);

            ViewBag.Employee = employee; 
            ViewBag.Header = "Employee Details";
            return View();
        }
    }
}

namespace Contr1.Models
{
    public class EmployeeBusinessLayer
    {
        public Employee GetEmployeDetails(int EmployeeId)
        {
            Employee employee = new Employee()
            {
                Id = EmployeeId,
                Name = "aaaa",
                Gender = "Male",
                Address = "Alwal",
                City = "Hyderabad",
                Salary = 56431,
            };
            return employee;
        }
    }
}

我需要获取Web输出的详细信息,但是我正在获取可为空,引用或可选参数的值

1 个答案:

答案 0 :(得分:1)

您收到此错误,因为您需要一个id作为参数

  

公共ViewResult索引(int id)

尽管此时您不使用它,但仍然需要它。要么删除“ int id”,要么使id为空:

public ViewResult Index(int? id)