2016-04-06 27 views
0

Bunu cshtml sayfamda var. MethodCallThatReturnsBool true değeriniSystem.Web.Optimization.Styles.Render @if ifadesinde görüntülenmiyor

<head> 
@if (MethodCallThatReturnsBool()) 
{ 
    System.Web.Optimization.Styles.Render("~/css/bundle"); 
} 
</head> 

, hiçbir komut dosyalarını görüntüleniyor. Ben @if bloğunun dışına Render deyimi taşırsanız:

<head> 
@System.Web.Optimization.Styles.Render("~/css/bundle"); 
</head> 

My Paketin dosyaları kafa etiketinde listelenmiştir.

Render çağrısı neden @if bloğunun içinde çalışmıyor?

+0

Eğer kontrolör kodunu göstermek misiniz'? –

cevap

1

Buradaki fark, @System.Web.Optimization.Styles.Render("~/css/bundle");'un yerine, bu aramanın başlığına eklenmiş olan metin çıktısı ile değiştirilmesidir, böylece tarayıcı onu ayrıştırıp göreceli isteği gerçekleştirebilir. siz manuel böyle @System.Web.Optimization.Styles.Render("~/css/bundle"); çıktısını işlemek zorunda böylece bir açıklamada bulunmaktadır "eğer" kullandığınızda: Eğer `MethodCallThatReturnsBool() kurma nerede

@if (MethodCallThatReturnsBool()) 
{ 
    System.Web.HttpContext.Current.Response.Write(System.Web.Optimization.Styles.Render("~/css/bundle")); 
}