2011-04-18 56 views
3

在我的基本測試評級控制因爲缺少內聯css樣式表而出現一些小問題後,我試圖在updatepanel中動態地添加一堆評級控件,當我點擊按鈕在不同的更新面板中(這些面板都在父更新面板中,我定義了觸發器並將updatemode設置爲有條件)。無論如何,當我點擊按鈕時,他會用評級控件更新updatepanel,但是當我將鼠標懸停在它們上面時,他總是顯示0(當前評級),並且不會更改評級控制星形圖像(filledStarRating)。有關我的問題的代碼(2種方法)Ratingcontrol給了javascript:void(0)

protected void imbformulier_Click(Object sender, ImageClickEventArgs e) 
{ 
    imbFormulier.Visible = false; 
    imbGebruikers.Visible = false; 
    imbModellen.Visible = false; 
    pnlGegevens1.Visible = false; 
    pnlGegevens2.Visible = true; 
    pnlNavigatie.Visible = true; 
    pnlEval.Visible = true;  

    //kijken welk formulier moet ingevuld worden adhv de ddl's en dit meegeven aan de zelfgemaakte klasse 
    List<EvaluatieFormulier> mijnformulieren = (List<EvaluatieFormulier>)Session["mijnformulieren"]; 
    IEnumerator<EvaluatieFormulier> enumerator = mijnformulieren.GetEnumerator(); 
    EvaluatieFormulier meetegeven = new EvaluatieFormulier(); 
    while (enumerator.MoveNext()) 
    { 
     if (((enumerator.Current.GebruikergeevalueerdID == ddlGebruikers.SelectedValue) && (enumerator.Current.ModelID == Convert.ToInt32(ddlModellen.SelectedValue)))) 
     { 
      meetegeven = enumerator.Current; 
      //Eventueel tekst veranderen als er al was gewerkt aan een bepaalde evaluatie 
      if (meetegeven.Tijdaangewerkt == 0) 
      { 
       lblInfo.Text = "Evaluatie gestart van " + ddlGebruikers.SelectedItem.Text; 
       lblDatum.Text = "Evaluatie begonnen op: "+ DateTime.Now.Date.ToString("d/M/yyyy") + "(Vandaag)" ; 
       //updaten in database 
       Session["aantalminutenaangewerkt"] = 0; 
       Session["aantalsecondenaangewerkt"] = 0; 
       timTijdAanGewerkt.Enabled = true; 
       lblTijd.Visible = true; 
      } 
      else 
      { 
       lblInfo.Text = "Evaluatie verdergezet van " + ddlGebruikers.SelectedItem.Text; 
       lblDatum.Text = "Evaluatie laatst gewijzigd : " + meetegeven.Tijdingevuld.ToString(); 
       Session["aantalminutenaangewerkt"] = meetegeven.Tijdaangewerkt; 
       Session["aantalsecondenaangewerkt"] = 0; 
       timTijdAanGewerkt.Enabled = true; 
       lblTijd.Visible = true; 
      } 
     } 
    } 

    //Rating controls aanmaken voor elke criteria 
    List<AjaxControlToolkit.Rating> lijstratingcontrols = new List<AjaxControlToolkit.Rating>(); 

    Model modelmetdomeinen = new Model() ; 
    IEnumerator<Model> modelenum = Database.laadModellenIn().GetEnumerator(); 
    while (modelenum.MoveNext()) 
    { 
     if (modelenum.Current.ModelID == meetegeven.ModelID) 
      modelmetdomeinen = modelenum.Current; 
    }  

    //foreach (Domein domein in modelmetdomeinen.Domeins) 
    //{ 
    // foreach (Criterium criterium in domein.Criteriums) 
    // { 
    //  AjaxControlToolkit.Rating ratingcontrol = new AjaxControlToolkit.Rating(); 
    //  ratingcontrol.ID = criterium.CriteriumNaam; 
    //  ratingcontrol.StarCssClass = "ratingStar"; 
    //  ratingcontrol.EmptyStarCssClass = "emptyStarRating"; 
    //  ratingcontrol.WaitingStarCssClass = "emptyStarRating"; 
    //  ratingcontrol.FilledStarCssClass = "filledStarRating"; 
    //  ratingcontrol.Changed += new AjaxControlToolkit.RatingEventHandler(rating_Changed); 
    //  ToolkitScriptManager1.RegisterAsyncPostBackControl(ratingcontrol); 
    //  lijstratingcontrols.Add(ratingcontrol); 
    // } 
    //} 

    //Evaluatieform formulier = new Evaluatieform(meetegeven,lijstratingcontrols); 
    Table evaluatietabel = new Table(); 
    int domeinteller =0; 

    foreach (Domein domein in modelmetdomeinen.Domeins) 
    { 
     domeinteller++; 
     if (domeinteller < 4) 
     { 
      TableRow domeinrij = new TableRow(); 
      TableCell domeintitel = new TableCell(); 
      domeintitel.Text = domeinteller + ". " + domein.DomeinNaam; 
      domeintitel.BorderStyle = BorderStyle.None; 
      domeinrij.Cells.Add(domeintitel); 
      evaluatietabel.Rows.Add(domeinrij); 
      foreach (Criterium criterium in domein.Criteriums) 
      { 
       int criteriumteller = 1; 
       TableRow criteriumrij = new TableRow(); 
       TableCell criteriumtitel = new TableCell(); 
       TableCell opvulcell = new TableCell(); 
       TableCell ratingcell = new TableCell(); 

       criteriumtitel.BorderStyle = BorderStyle.None; 
       opvulcell.BorderStyle = BorderStyle.None; 
       ratingcell.BorderStyle = BorderStyle.None; 

       criteriumtitel.Text = criteriumteller + ". " + criterium.CriteriumNaam; 
       AjaxControlToolkit.Rating ratingcontrol = new AjaxControlToolkit.Rating(); 
       ratingcontrol.ID = criterium.CriteriumNaam; 
       ratingcontrol.StarCssClass = "ratingStar"; 
       ratingcontrol.EmptyStarCssClass = "emptyStarRating"; 
       ratingcontrol.WaitingStarCssClass = "emptyStarRating"; 
       ratingcontrol.FilledStarCssClass = "filledStarRating"; 
       ratingcontrol.Changed += new AjaxControlToolkit.RatingEventHandler(rating_Changed); 
       ratingcell.Controls.Add(ratingcontrol); 
       ratingcell.Attributes.Add("runat", "server"); 
       ratingcell.Attributes.Add("onclick", "return false"); 

       criteriumrij.Cells.Add(opvulcell); 
       criteriumrij.Cells.Add(criteriumtitel); 
       criteriumrij.Cells.Add(ratingcell); 

       evaluatietabel.Rows.Add(criteriumrij); 
       criteriumteller++; 
      } 
     } 
    } 

    evaluatietabel.BorderStyle = BorderStyle.None; 
    pnlEval.ContentTemplateContainer.Controls.Add(evaluatietabel); 

    Session["formulieractief"] = true; 
    pnlEval.Update(); 
    pnlGegevens1.Update(); 
    pnlGegevens2.Update(); 
} 

我也加入the link to an image,顯示我的問題,所以你可以看到它自己:

回答

0

最近,我們有同樣的問題和問題最新版本的AjaxControltoolkit似乎需要ToolkitScriptManager而不是普通的ScriptManager。

所以只要試着改變你的 的asp:ScriptManager的標籤 ASP:ToolKitScriptManager或 AJAX:ToolKitScriptManager 或任何你的命名空間。

相關問題