加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Nancy Razor部分视图无法在发布模式下呈现

发布时间:2020-12-15 08:48:54 所属栏目:百科 来源:网络整理
导读:部分视图在调试模式下呈现,但不在发布模式下呈现. 堆栈跟踪 [ArgumentNullException: Value cannot be null.Parameter name: key] System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key,Func`2 valueFactory) +5895838 Nancy.ViewEngine
部分视图在调试模式下呈现,但不在发布模式下呈现.

堆栈跟踪

[ArgumentNullException: Value cannot be null.
Parameter name: key]
    System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key,Func`2 valueFactory) +5895838
    Nancy.ViewEngines.DefaultViewCache.GetOrAdd(ViewLocationResult viewLocationResult,Func`2 valueFactory) +329
    Nancy.ViewEngines.Razor.RazorViewEngine.GetOrCompileView(ViewLocationResult viewLocationResult,IRenderContext renderContext,Assembly referencingAssembly,Type passedModelType) +186
    System.Dynamic.UpdateDelegates.UpdateAndExecute5(CallSite site,T0 arg0,T1 arg1,T2 arg2,T3 arg3,T4 arg4) +401
    CallSite.Target(Closure,CallSite,RazorViewEngine,ViewLocationResult,IRenderContext,Assembly,Object ) +575
    Nancy.ViewEngines.Razor.RazorViewEngine.GetViewInstance(ViewLocationResult viewLocationResult,Object model) +1128
    System.Dynamic.UpdateDelegates.UpdateAndExecute5(CallSite site,Object ) +495
    Nancy.ViewEngines.Razor.<>c__DisplayClass1f.<RenderView>b__1e(Stream stream) +470
    Nancy.ViewEngines.Razor.HtmlHelpers`1.Partial(String viewName,Object modelForPartial) +1872
    RazorOutput.RazorView.<Execute>b__3() +632
    Nancy.ViewEngines.Razor.NancyRazorViewBase`1.ExecuteView(String body,IDictionary`2 sectionContents) +374
    Nancy.ViewEngines.Razor.<>c__DisplayClass1f.<RenderView>b__1e(Stream stream) +775
    Nancy.Hosting.Aspnet.NancyHandler.ProcessRequest(HttpContextBase context) +81
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +913
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously) +165

master.cshtml(仅限相关部分)

@if (IsSectionDefined("sidebar")) {
    <div id="two-col">
        @RenderBody()
    </div>
    <div id="sidebar">
        @RenderSection("sidebar")
    </div>
} else {
    <div id="one-col">
        @RenderBody()
    </div>
}

index.cshtml

@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<dynamic>
@{ Layout = "master.cshtml"; }

// html for body,doesn't use model

@section sidebar {
    @Html.Partial("/sidebars/sidebar.cshtml",Model)
}

sidebar.cshtml(示例部分)

<ul>
@foreach (var item in Model.Items)
{
    <li>@Html.Raw(@item.DisplayText)</li>
}
</ul>

解决方法

我最近有这个问题,但链接到我的主布局页面.
查看索引页面,它可能是两件事之一,例如我,母版页的路径或部分路径.
如果删除部分URL上的前导斜杠或者主页位于共享文件夹中,请将其完整路径添加到其URL(不带前导斜杠或?/).

这是我找到解决方案的地方.
https://groups.google.com/forum/#!topic/nancy-web-framework/zRLth_hl2r8

HTH

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读