2012-04-18 9 views
6

Değişkenlere erişme konusunda bazı sorun yaşıyorum, burada bu durumda Setvariable. İçine girdiğimde, değişken mevcut değil. Bunun hakkında herkesin bir fikri vardır. Yardımınız için teşekkür ederiz.Dreamweaver uygulamasında Döngü ve TemplateRepeatIndex

Aşağıda kod bölümüm şablonda bulunmaktadır. Bir şansın olduğunda yardım eder misin? Teşekkürler.

<!-- TemplateBeginRepeat name="Component.Fields.section" --> 
@@SetVariable("columnSectionIndex", "${TemplateRepeatIndex}")@@ 
Inline Value @@GetVariable("columnSectionIndex")@@  Variable value can be accessed 
    <!-- TemplateBeginRepeat name ="Field.links" --> 
     Inside Loop Value @@GetVariable("columnSectionIndex")@@ //Not getting declared   variable //value here. Says variable doesn’t exist in ContextVariables. 
     <!-- TemplateBeginRepeat name ="Field.linkimages" --> 
     <!-- TemplateEndRepeat --> 
    <!-- TemplateEndRepeat --> 
<!-- TemplateEndRepeat --> 

Çıktı

Variable Added Successfully 
Inline Value 0 
Inside Loop Value Variable doesn't exist 

Bu yardımcı olabilecek

[TemplateCallable()] 
public string SetVariable(string variableName, string value) 
    { 
     //Remove the old variable and set the new variable 
     if (_Engine.PublishingContext.RenderContext.ContextVariables.Contains(variableName)) 
     { 
      _Engine.PublishingContext.RenderContext.ContextVariables[variableName] = value; 
      return "Variable Modified Successfully"; 
     } 
     else 
     { 
      _Engine.PublishingContext.RenderContext.ContextVariables.Add(variableName, value); 
      return "Variable Added Successfully"; 
     } 
    } 
    [TemplateCallable()] 
    public string GetVariable(string variableName) 
    { 
     //Get the varialbe 
     if (_Engine.PublishingContext.RenderContext.ContextVariables.Contains(variableName)) 
      return _Engine.PublishingContext.RenderContext.ContextVariables[variableName].ToString(); 
     else 
      return "Variable doesn't exist"; 
    } 

cevap

5

iyi bilinmektedir döngüler içinde değişkenlerle Sorunlar ve hatta documented.

Temel olarak ilk döngü, değişkeni ayarladığınız zamana göre zaten değerlendirildiğinden, her zaman birer birer kapalı olacaksınız.

  • Seti değişken i = 0
  • döngünün 1, i = boş
  • döngünün 2, i = 0
  • döngünün 3, i = 1
  • vb
+0

Bilgi için Nuno teşekkür ederiz. Bu yardımcı olur! –

+0

Yanıt olarak işaretlemek isteyebilirsiniz, böylece aynı soruya sahip olanlara yardımcı olur. –