2013-05-28 2 views
0

Я использую DynamicControlsPlaceholder Денисом Бауэром, чтобы сохранить просмотр состояния динамических элементов управления после обратной передачи. Я использовал DynamicControlsPlaceholder раньше в более ранней части моего проекта, и он работал безупречно.Проблема с регулятором слайдера JuiceUI после обратной передачи

Однако сегодня я столкнулся с трудностями. Я создал страницу, где есть несколько текстовых меток, ползунков и текстовых полей (определяется количеством элементов в базе данных), как показано ниже. Полосами слайдера являются элементы управления слайдера JuiceUI, а текстовые поля - это обычные текстовые поля ASP.NET.

Before PostBack

После обратной передачи текстовых меток (буквенные контроль) и круговой диаграммы исчезают, текстовые поля уменьшают в размере (текст внутри остается) и sliderbars сбрасываются до наименьшего значения без способности перемещать ползунок (ползунки не могут двигаться вообще).

After PostBack

Я совсем новичок в ASP.NET и я полностью озадачен, почему это происходит. Считаете ли вы, что это проблема с динамическим контролером, слайдером JuiceUI или моим кодом (см. Ниже)?

{ 

       SqlCeCommand cmdb = new SqlCeCommand(); 
       cmdb.CommandText = "SELECT CriteriaName,CriteriaDesc FROM tblCriteria WHERE (DecisionID = @DID)"; 
       cmdb.Parameters.AddWithValue("@DID", DID.Text.Trim()); 

       cmdb.Connection = sqlConnection1; 
       reader = cmdb.ExecuteReader(); 

       string[] criterianames = new string[critno]; 
       string[] criteriadescs = new string[critno]; 

       int i = 0; 

       while (reader.Read()) 
       { 
        criterianames[i] = reader["CriteriaName"].ToString().Trim(); 
        criteriadescs[i] = reader["CriteriaDesc"].ToString().Trim(); 
        i++; 
       } 
       reader.Close(); 

       Cont2.Controls.Add(new LiteralControl("<h3>Thank you for contributing to the following decision.<h4>Decision Goal: " + dgoal + "</h4><br><br><center>")); 

       Series weights = new Series(); 
       weights.ChartType = SeriesChartType.Pie; 

       double[] yBar = new double[critno]; 
       string[] xBar = new string[critno]; 

       xBar = criterianames; 
       for (i = 0; i < critno; i++) 
       { 
        yBar[i] = 1; 
       } 

       ChartArea ca = new ChartArea(); 

       ca.Position = new ElementPosition(0, 0, 100, 100); 
       ca.InnerPlotPosition = new ElementPosition(0, 0, 100, 100); 
       ca.BackColor = System.Drawing.Color.Transparent; 

       Chart piechart = new Chart(); 
       piechart.RenderType = RenderType.ImageTag; 
       piechart.ChartAreas.Add(ca); 
       piechart.BackColor = System.Drawing.Color.Transparent; 
       piechart.Palette= ChartColorPalette.BrightPastel; 
       piechart.BorderColor = System.Drawing.Color.Black; 
       piechart.BorderSkin.PageColor = System.Drawing.Color.Transparent; 
       piechart.BorderSkin.BackColor = System.Drawing.Color.Transparent; 

       piechart.Width = 800; 
       piechart.Series.Add(weights); 
       piechart.ImageStorageMode = ImageStorageMode.UseImageLocation; 
       piechart.ImageLocation = "~/TempImages/ChartPic_#SEQ(300,3)"; 

       piechart.Series[0].Points.DataBindXY(xBar, yBar); 

       piechart.DataBind(); 
       Cont2.Controls.Add(piechart); 


       Cont2.Controls.Add(new LiteralControl("</center><h3>Please provide a weighting for each criterion.</h3><p>Please provide a weighting for each criterion along with a description of why you made this choice. </p>")); 

       for (i = 0; i < critno; i++) 
       { 
        Cont3.Controls.Add(new LiteralControl("<h3>" + criterianames[i] + "</h3><p><strong>Description: </strong>" + criteriadescs[i] + "</p><center>")); 

        Juice.Slider weightslider = new Juice.Slider(); 
        weightslider.ID = "w" + i.ToString(); 
        weightslider.Min = 1; 
        weightslider.Value = 50; 
        weightslider.Max = 100; 
        weightslider.AutoPostBack = true; 
        Cont3.Controls.Add(weightslider); 
        weightslider.ValueChanged += (o, a) => 
        { 
         ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + weightslider.Value.ToString() + "');", true); 
        }; 

        TextBox wdesc = new TextBox(); 
        wdesc.ID = "wd" + Convert.ToString(i); 
        wdesc.Rows = 3; 
        wdesc.Width = 900; 
        wdesc.TextMode = TextBoxMode.MultiLine; 
        Cont3.Controls.Add(wdesc); 
        Cont3.Controls.Add(new LiteralControl("</center>")); 

       } 
       Cont3.Controls.Add(new LiteralControl("<p align='right'>")); 
       Button continue1 = new Button(); 
       continue1.Text = "Continue"; 
       Cont3.Controls.Add(continue1); 
       Cont3.Controls.Add(new LiteralControl("</p>")); 


       // Database Disconnect 
       sqlConnection1.Close(); 
      } 

Большое спасибо за любую помощь вы можете предоставить, С наилучшими пожеланиями, Richard

ответ

0

Вы могли бы устранить или подтвердить, что проблема существует с Juice UI, создавая страницы, не содержащей ничего более слайдера сок UI, один из этих динамических заполнителей и ярлык. Это будет первая остановка.

Если у вас возникли проблемы с пользовательским интерфейсом Juice, вы можете использовать его кузена Brew

Смежные вопросы