我正在撰寫一個動態網站,一切正常,但我在終端發現了一個錯誤。
錯誤:
fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
在執行請求時發生了一個未處理的例外。
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException。無法對一個null參考進行運行時系結。
at CallSite.Target(Closure , CallSite , Object )
在AspNetCore.Views_Content_CategoryContent.ExecuteAsync() in C:UserslenovoDesktopProjelerWutempViewsContentCategoryContent.cshtml:line 2
at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context)
在Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, Boolean invokeViewStarts)
在Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext)
在Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode)
在Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode)
at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ActionContext actionContext, IView view, ViewDataDictionary viewData, ITempDataDictionary tempData, String contentType, Nullable`1 statusCode)
在Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor.ExecuteAsync(ActionContext context, ViewResult result)
在Microsoft.AspNetCore.Mvc.ViewResult.ExecuteResultAsync(ActionContext context)
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|29_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)。
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters()
--- 堆疊跟蹤結束 從前一個位置開始 ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- 堆疊跟蹤結束 從前一個位置開始 ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
在Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
在Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
在Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
在Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
在Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
在Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
控制器(編輯:我不小心洗掉了ViewBag部分):
[
if(content.ContentCategory != null && content.ContentCategory != 0){
return RedirectToAction("CategoryContent", new)
{
category = repoContentCategories.TGet((int)content.ContentCategory).Title。
url = content.URL,
id = content.ID
});
}
else{
ViewBag.Content = 內容。
return View()。
}
問題是什么,我如何解決?
uj5u.com熱心網友回復:
我解決了這個問題。
我使用了模型而不是評論中提到的ViewBag,但這并不奏效,我一直得到同樣的錯誤我認為這個問題是由ViewBag引起的。
我認為這個問題是由于兩個視圖的路由部分的相似性造成的。
索引:
[Route("Content/{url}/{id}")/span>]
public IActionResult Index(int id))
{
var content = repoContents.TGet(id)。
//If content has a category, go to CategoryContent
if(content.ContentCategory != null && content.ContentCategory != 0){
return RedirectToAction("CategoryContent", new)
{
category = repoContentCategories.TGet((int)content.ContentCategory).Title。
url = content.URL,
id = content.ID
});
}
else{
ViewBag.Content = 內容。
return View()。
}
CategoryContent:
[Route("Content/{category}/{url}/{id}")]
public IActionResult CategoryContent(int id))
{
ViewBag.Content = repoContents.TGet(id)。
return View()。
我通過改變ContentCategory頁面的Route部分解決了這個問題
。[Route("Content/{category}/{url}/{id}")]
|
V
[Route("Category-Content/{category}/{url}/{id}")]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/320331.html
標籤:
上一篇:從影像斑塊中生成概率
