Exception 运行my ASP.NET web应用程序时出现异常错误,

Exception 运行my ASP.NET web应用程序时出现异常错误,,exception,model-view-controller,Exception,Model View Controller,运行“我的ASP.NET web应用程序”时出现异常错误。我想这是由于我的一个枚举,我不确定。我对“Value不能为null”和“Parameter name:source”异常做了一些研究,只是不了解所提供的一些解决方案,也不确定它们是否直接适用于我的问题 Server Error in '/' Application. ________________________________________ Value cannot be null. Parameter name: source

运行“我的ASP.NET web应用程序”时出现异常错误。我想这是由于我的一个枚举,我不确定。我对“Value不能为null”和“Parameter name:source”异常做了一些研究,只是不了解所提供的一些解决方案,也不确定它们是否直接适用于我的问题

Server Error in '/' Application.
________________________________________
Value cannot be null.
Parameter name: source
    Description: An unhandled exception occurred during the execution of the current web request. Please 
    review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: source

Source Error:

Line 8:      <h1>ASP.NET</h1>
Line 9:      <div>
Line 10:         There are @Model.Count() restaurants in the db.
Line 11:     </div>
Line 12:    

Source File: C:\Users\cef19\source\repos\OdeToFood\OdeToFood.Web\Views\Home\Index.cshtml    Line: 10

Stack Trace:

[ArgumentNullException: Value cannot be null.
Parameter name: source]
   System.Linq.Enumerable.Count(IEnumerable`1 source) +4960432
   ASP._Page_Views_Home_Index_cshtml.Execute() in C:\Users\cef19\source\repos\OdeToFood\OdeToFood.Web\Views\Home\Index.cshtml:10
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +197
   System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +105
   System.Web.WebPages.StartPage.RunPage() +17
   System.Web.WebPages.StartPage.ExecutePageHierarchy() +73
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +78
   System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +235
   System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +107
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +291
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +56
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +420
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +52
   System.Web.Mvc.Async.<>c__DisplayClass3_6.<BeginInvokeAction>b__4() +198
   System.Web.Mvc.Async.<>c__DisplayClass3_1.<BeginInvokeAction>b__1(IAsyncResult asyncResult) +100
   System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
   System.Web.Mvc.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) +11
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +45
   System.Web.Mvc.<>c.<BeginExecute>b__151_2(IAsyncResult asyncResult, Controller controller) +13
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +22
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26
   System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
   System.Web.Mvc.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) +28
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9847873
   System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +50
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +163


________________________________________
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.8.4210.0
“/”应用程序中出现服务器错误。 ________________________________________ 值不能为null。 参数名称:源 描述:执行当前web请求期间发生未处理的异常。请 查看堆栈跟踪以了解有关错误以及错误在代码中起源的更多信息。 异常详细信息:System.ArgumentNullException:值不能为null。 参数名称:源 源错误: 第8行:ASP.NET 第9行: 第10行:数据库中有@Model.Count()餐厅。 第11行: 第12行: 源文件:C:\Users\cef19\Source\repos\OdeToFood\OdeToFood.Web\Views\Home\Index.cshtml行:10 堆栈跟踪: [ArgumentNullException:值不能为null。 参数名称:源] System.Linq.Enumerable.Count(IEnumerable`1源)+4960432 C:\Users\cef19\source\repos\OdeToFood\OdeToFood.Web\Views\Home\Index.cshtml:10中的ASP.\u Page\u Views\u Home\Index\u cshtml.Execute() System.Web.WebPages.WebPageBase.ExecutePageHierarchy()+197 System.Web.Mvc.WebViewPage.ExecutePageHierarchy()+105 System.Web.WebPages.StartPage.RunPage()+17 System.Web.WebPages.StartPage.ExecutePageHierarchy()+73 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext-pageContext,TextWriter-writer,WebPageRenderingBase-startPage)+78 System.Web.Mvc.RazorView.RenderView(ViewContext、TextWriter、Object实例)+235 System.Web.Mvc.buildmanager compiledview.Render(ViewContext、TextWriter)+107 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext上下文)+291 System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext ControllerContext,ActionResult ActionResult)+13 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1过滤器、Int32过滤器索引、ResultExecutingContext预文本、ControllerContext ControllerContext、ActionResult ActionResult)+56 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1过滤器、Int32过滤器索引、ResultExecutingContext预文本、ControllerContext ControllerContext、ActionResult ActionResult)+420 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext ControllerContext,IList`1过滤器,ActionResult ActionResult)+52 System.Web.Mvc.Async.c\uuuu DisplayClass3\u6.b\uu4()+198 System.Web.Mvc.Async.c__显示类3_1.b_1(IAsyncResult asyncResult)+100 System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult)+10 System.Web.Mvc.Async.WrappedAsyncResultBase`1.End()+49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)+27 System.Web.Mvc.c.b__152_1(IAsyncResult asyncResult,ExecuteCorerate innerState)+11 System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)+29 System.Web.Mvc.Async.WrappedAsyncResultBase`1.End()+49 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)+45 System.Web.Mvc.c.b__151_2(IAsyncResult asyncResult,Controller)+13 System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)+22 System.Web.Mvc.Async.WrappedAsyncResultBase`1.End()+49 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)+26 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)+10 System.Web.Mvc.c.b_20_1(IAsyncResult asyncResult,ProcessRequestState innerState)+28 System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)+29 System.Web.Mvc.Async.WrappedAsyncResultBase`1.End()+49 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)+28 System.Web.Mvc.MvcHandler.System.Web.IHTTPassynchandler.EndProcessRequest(IAsyncResult结果)+9 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+9847873 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)+50 System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+163 ________________________________________ 版本信息:Microsoft.NET Framework版本:4.0.30319;ASP.NET版本:4.8.4210.0
您好这是帮助解决我的问题的附加信息。谢谢你,克里斯
**********************************************************************
这是我的控制器:
使用OdeToFood.Data.Services;
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.Mvc;
命名空间OdeToFood.Web.Controllers
{
公共类HomeController:控制器
{
iRestaturantData数据库;
公共家庭控制器()
{
db=新的InMemoryRestaurantData();
}
公共行动结果索引()
{
var model=db.GetAll();
返回视图();
}
关于()的公共行动结果
{
ViewBag.Message=“您的应用程序描述页。”;
返回视图();
}
公共行动结果联系人()
{
ViewBag.Message=“您的联系人页面。”;
返回视图();
}
}
}
****************************************************************
以下是我的模型:
CuisineType.cs模型
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
命名空间OdeToFood.Data.Models
{
公共枚举菜系类型
{
没有一个
意大利人
印度的
法语
}
}
**************************************************
Hi this is additional information to help address my issue. Thanks Chris

**********************************************************************
Here is my Controller:

using OdeToFood.Data.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace OdeToFood.Web.Controllers
{
    public class HomeController : Controller
    {
        IRestaurantData db;

        public HomeController()
        {
            db = new InMemoryRestaurantData();
        }
        public ActionResult Index()
        {
            var model = db.GetAll();
            return View();
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}


****************************************************************
Here are my Models: 
CuisineType.cs Model

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OdeToFood.Data.Models
{
    public enum CuisineType
    {
        None,
        Italian,
        Indian,
        French

    }
}

****************************************************
Here is my Restaurant.cs Model:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OdeToFood.Data.Models
{
    public class Restaurant
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public CuisineType Cuisine { get; set; }
    }
}

****************************************************
Here is my Class from my Services folder named InMemoryRestaurantData.cs

using OdeToFood.Data.Models;
using System;
using System.Collections.Generic;
using System.Linq;

namespace OdeToFood.Data.Services
{
    public class InMemoryRestaurantData : IRestaurantData
    {
        List<Restaurant> restaurants;

        public InMemoryRestaurantData()
        {
            restaurants = new List<Restaurant>()
            {
                new Restaurant { ID = 1, Name="Scott's Pizza", Cuisine= CuisineType.Italian},
                new Restaurant { ID = 2, Name="Tersiguels", Cuisine= CuisineType.French},
                new Restaurant { ID = 3, Name="Mango Grove", Cuisine= CuisineType.Indian},

            };
        }
        public IEnumerable<Restaurant> GetAll()
        {
            return restaurants.OrderBy(r => r.Name);
        }
    }
}

********************************************
Here is my class from my Services Folder named IRestaurantData.cs

using OdeToFood.Data.Models;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OdeToFood.Data.Services
{
    public interface IRestaurantData
    {
        IEnumerable<Restaurant> GetAll();
    }
}

***************************************
Here is my Index View



@{
    ViewBag.Title = "Home Page";
}

<div class="jumbotron">
    <h1>ASP.NET</h1>
    <div>
        There are @Enumerable.Count(Model) restaurants in the db.
    </div>
   
</div>

*********************************************************
Hi I figured out the issue. I needed to have the model inside of my parentheses. See code  public ActionResult Index()
        {
            var model = db.GetAll();
            return View(model);
        }