Ma page web consomme beaucoup de ressources du client lors de l'affichage.
Bonjour tout le monde,
j'ai un souci avec une gridView qui met du temps a s'afficher.
Dans les faits, si je fait une pagination avec pagesize=100, tout va bien, mais si j'affiche au dessus de cette valeur, ca rame fortement.
Je me suis rendu compte que le probleme venait d'une colonne constituée d'un item template , de hiddenfields, textbox et un regularExpressionValidator.
voici le code de la colonne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<asp:TemplateField FooterStyle-HorizontalAlign="right" HeaderText="<%$ Resources:GL, gl_objectifs_valides %>"
ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%">
<ItemTemplate>
<div>
<asp:HiddenField ID="hdfGlTerrainId" Value='<%#Eval("gl_terrain_id") %>' runat="server" />
<asp:HiddenField ID="hdfGlPerimetreId" Value='<%#Eval("gl_perimetre_id") %>' runat="server" />
<asp:HiddenField ID="hdfGlRayonId" Value='<%#Eval("gl_rayon_id") %>' runat="server" />
<asp:Image ID="cadenas" runat="server" ImageUrl='~/style/1/images/pic_cadenas_on.gif' Visible='<%# bool.Parse(Eval("est_valide").ToString()) %>' />
<asp:TextBox ID="txtObjectifValide" Style="text-align: right;" runat="server" Text='<%# this.AfficheMontant(Eval("objectif_valide")) %>'
ValidationGroup="update" width="60%" Enabled='<%# !bool.Parse(Eval("est_valide").ToString()) %>' onchange="jsChangeIndice(this.id, 'txtObjectifValide')" />
<%# this.SumObjectifs(Eval("objectif_valide")) %>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="<%$ Resources:GL,gl_champs_obligatoirs %>"
ControlToValidate="txtObjectifValide" ValidationGroup="update" ValidationExpression="<%$ Resources:GL,gl_regex_montant %>" />
</div>
</ItemTemplate>
<FooterTemplate>
<%# this.AfficheMontant(this.TotalObjectif) %>
</FooterTemplate>
</asp:TemplateField> |
Quand je retire l'appel au javascript de la propriété onchange ET le regularExpressionValidator, l'affichage est instantané.
Est ce que je m'y suis mal pris ?
Est ce qu'un regularExpressionValidator est un procédé a éviter ?
Dois je renoncer au javascript ?
J'avoue être un peu perdu la....
voici le javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
function jsChangeIndice(id,inputName)
{
var prefix = id.replace (inputName, '');
var valObj = document.getElementById(prefix+"txtObjectifValide");
var valIndice = document.getElementById(prefix+"indice_temp");
var valCA = document.getElementById(prefix+"Label1");
var newCA = valCA.value.replace(/\s+/g,'');
newCA = newCA.replace(/ /g, "");
var newObj = valObj.value.replace(/\s+/g,'');
newObj = newObj.replace(/ /g, "");
var p=eval(newObj/newCA*100);
valIndice.innerText=p.toFixed(1);
} |
Merci à tous pour votre attention.
Edit:
le calcul prend 100% d'un cœur de mon proc pour afficher le rendu.
Ca retombe a 3% une fois terminée.