2013-08-24 7 views
6

Kısmi görünümler hata ayıklama modunda işlem yapar, ancak yayınlama modunda değildir.Nancy Razor kısmi görünümler yayın modunda çalışmazlar

yığın izleme

[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, IRenderContext renderContext, Assembly referencingAssembly, Object model) +1128 
    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) +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 (ilgili bölüm sadece)

@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 (örnek bölümü)

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

Yayınlama moduyla ilgili görünüyor - bu https://groups.google.com/forum/#!searchin/nancy-web-framework/razor/nancy/web-framework/T95zFkxeJjg/LkWguk-xwI8J – Leslie

cevap

8

Son zamanlarda bu sorunu yaşadım ancak ana sayfa düzenlerime bağlandım. Dizin sayfanıza bakarken, benim gibi iki şeyden biri, ana sayfanızın yolunu veya kısmi yolunu bulabilirdi. Kısmi url'inizin önündeki eğik çizgiyi kaldırırsanız veya ana sayfanız paylaşılan bir klasördeyse, URL'sinin tam yolunu (eğik çizgi olmadan veya ~ /) ekleyin.

Çözümü bulduğum yer burası. https://groups.google.com/forum/#!topic/nancy-web-framework/zRLth_hl2r8

HTH

Bizim durumumuzda
+0

Teşekkürler çok fazla! Bunu denediğimi sandım, ama açıkçası değil. Öndeki eğik çizgileri kısmi parçalara çıkardı ve her şey yolunda. :) – Leslie

+0

Bu garip. Birkaç yayın için iyi çalışıyordu (Azure web sitesine). Düzen ve kısmi .cshtml dosyalarına göreli yollar kullanıyordum. Bunları kaldırmanın sorunu çözdüğünü doğruladı. – Aaron

1

biz atıfta olduğu görüntülemeler ayarını kayıp olduğunu edildi sorun:

Eylem oluştur: dosyaları ayıklama modunda İçerik

Anlamı edildi dosya sisteminden okunurken, serbest bırakma modunda çalışırken serbest bırakma klasörü klasörüne kopyalanmıyordu.