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