Les contrôles de l'utilisateur à l'intérieur d'un UpdatePanel - styles css sont partis quand la mise à jour (IE8)
J'ai un contrôle de l'utilisateur à l'intérieur d'un UpdatePanel. Une fois qu'un événement est déclenché et les mises à jour à l'utilisateur de contrôler -, il semble perdre ses styles css. Ce qui m'est arrivé dans IE8 seulement, tandis que dans Chrome et FF, c'était bien.
Un contrôle de l'utilisateur par exemple:
<style type="text/css">
div.test
{
width: 500px;
height: 400px;
background-color: #0000BB;
color: #FFFFFF;
border: 2px solid #11CC00;
}
</style>
<div id="div123" runat="server" class="test"></div>
public void SetText(string text)
{
div123.InnerText = text;
}
Une page en utilisant le contrôle de l'utilisateur à l'intérieur d'un UpdatePanel et de mise à jour:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="div1" runat="server">
<uc:TestUC ID="test1" runat="server"></uc:TestUC>
</div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_OnClick" Text="Click" />
</ContentTemplate>
</asp:UpdatePanel>
protected void Button1_OnClick(object sender, EventArgs e)
{
test1.SetText(DateTime.Now.ToString());
}
En Chrome et FF il semble fonctionner comme prévu (cliquez sur le bouton provoque l'heure actuelle à afficher dans le contrôle de l'utilisateur, rien ne se passe), mais dans IE8 la div à l'intérieur de l'utilisateur perd le contrôle de ses styles (couleur d'arrière-plan, bordures).
Ce qui pourrait être à l'origine de ce problème, et ce qui peut être fait pour l'empêcher?
Oui, le css est définie à l'intérieur de l'objet UserControl, mais j'ai besoin d'elle.
Je obtenir le même comportement à partir d'un WebControl avec IE11 mode de compatibilité : la ligne "Style" de la section disparaît, ainsi que le "link rel" pour CSS externe et le "Script" tag pour JavaScript externe. J'ai essayé d'ajouter "id" de chaque balise, sans succès.
OriginalL'auteur Kuzco | 2011-01-30
Vous devez vous connecter pour publier un commentaire.
Cette question est ici.
J'ai essayé la suggestion - enregistrer le lien css dans le OnInit - et il semble fonctionner.
OriginalL'auteur Kuzco
J'ai eu le même problème.
Je l'ai résolu en déplaçant css
<link ..
de la<page>
à la<header>
.Depuis que j'utilise une MasterPage et je ne veux pas le lien sur toutes les pages, j'ai trouvé utile de mettre un ContentPlaceHolder dans la MasterPage de l'en-Tête
puis sur le lien à l'intérieur de la page souhaitée:
OriginalL'auteur Emanuele Greco
Copier le css de contrôle de l'utilisateur à la page de les résoudre.
OriginalL'auteur Tao Liang
J'ai eu le même problème avec mon application, semblait-il, de tuer tous les style dans ma dynamique panneau... j'ai corrigé en déplaçant le contenu de l'espace réservé (lieu-je écrire le HTML dynamique) dans le < head> tag sur ma page principale.
De travail! Merci à tous 🙂
OriginalL'auteur Josh Harris