J'ai une page ASPX définie comme suit:Pourquoi l'étiquette ne change-t-elle pas de couleur à l'aide de RegisterClientScriptBlock?
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" language='javascript'>
function changecolor() {
var lbl = document.getElementById('lblDisplayDate');
lbl.style.color = 'red';
};
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblDisplayDate" runat="server"
Text="Label"></asp:Label><br />
<asp:Button ID="btnPostBack2" runat="server"
Text="Register Client Block Script"
onclick="btnPostBack2_Click" />
</div>
</form>
Voici l'événement btnPostBack2 Cliquez:
protected void btnPostBack2_Click(object sender, EventArgs e)
{
if (!ClientScript.IsClientScriptBlockRegistered("JSScriptBlock"))
{
ClientScript.RegisterClientScriptBlock(this.GetType(),
"JSScriptBlock",
"changecolor();",
true);
}
}
Même si, je mets le script dans une fonction pour changer la couleur, il ne le fait toujours pas et pourquoi ai-je besoin d'ajouter les balises de script à true si la fonction est déjà incluse dans des balises de script? LblDisplayDate est dans le chargement de page où il est défini à l'heure actuelle à chaque rechargement de page.