J'ai une div sur la page, dont le contenu va changer par javascript, je veux obtenir sa valeur à partir du code C#. mais, il renvoie toujours la valeur vide ou initiale, pas de valeur modifiée.Comment obtenir du contenu div modifié par javascript?
Si je passe de div à caché, cela fonctionne bien. Je ne sais pas pourquoi?
Voici le code:
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
foo = function()
{
var d = document.getElementById('divTest');
d.innerHTML = 'my value';
var e = document.getElementById('hiddenTest');
e.value = 'my value';
}
</script>
</head>
<body>
<form id="form1" runat="server" >
<div>
<div id="divTest" runat="server" />
<input type="hidden" runat="server" id="hiddenTest" />
<input type="button" value="test" onclick="javascript:foo();" />
<asp:Button ID="btnTest" runat="server" Text="ASP.NET Button" OnClick="OnbtnTest" />
</div>
</form>
</body>
ici est le code C#:
protected void OnbtnTest(object sender, EventArgs e)
{
Response.Write(string.Format("alert('{0}');", hiddenTest.Value));
}
> tout le contenu est statique et n'est pas publié sur le serveur. un lien MSDN à ce sujet? > Vous avez l'option, tout en préparant le contenu de votre div, écrire le même contenu dans un champ caché. Et côté serveur, obtenez la valeur du champ caché. oui, c'est ma solution que j'ai utilisée dans le projet. –
@Copper: ce n'est pas la décision de Microsoft pour ASP.NET, c'est la règle fondamentale de HTTP. – Canavar
@Copper: Que fonctionne HTTP/HTML. Toutes les données affichées sont dans les éléments INPUT/TEXTAREA/SELECT ... Aucun autre contenu HTML n'est renvoyé. Vous voyez seulement la valeur dans Asp.net parce qu'elle économise sa valeur à VIEWSTATE ... –