2009-07-01 18 views
0

J'ai une application de jeu de facebook qui est libéré à la plate-forme Facebook sur le lien suivant: FaceBookGameApplicationRechargement en javascript

et je suis en utilisant iframe et le problème maintenant que après avoir répondu à la question dans le jeu je recharger la page du code javascript:

window.location.href = sURL; 

et sur l'affichage de retour je suis updatting 2 divs de la partition et frappe avec de nouvelles valeurs en obtenant la valeur existe et incrémenter avec une fonction de réponse de l'utilisateur que le jeu est des questions et des utilisateurs leur répond:

Hits = int.Parse(HitsNo.InnerText) + 1; 
HitsNo.InnerText = Hits.ToString(); 

ou:

Hits = int.Parse(HitsNo.InnerHTML) + 1; 
HitsNo.InnerHTML = Hits.ToString(); 

et la première fois de recharger les valeurs sont changées et après que, chaque fois de la recharger les valeurs ne changent pas et les 2 divs ne prennent pas nouvelles valeurs que je leur ai définies. Le serveur divat 2 divs et j'utilise C# sous .Net 2008 alors qu'est-ce qui fait que les deux divs ne changent pas thier innerText ou innerHTML avec de nouvelles valeurs io définies par codebehind?

merci à l'avance

Répondre

1

Si je suis bien, vous utilisez divs HTML pour afficher le score. Ensuite, à partir de code-behind, vous récupérez le code HTML de ces divs pour accéder à la valeur de score la plus récente.

Le problème est que les DIV ne font pas partie de la publication http. Par conséquent, chaque fois que votre code-behind s'exécute, il utilise la valeur d'origine, en y ajoutant un, puis en affichant la nouvelle valeur. La prochaine fois que la publication se produit, elle utilise de nouveau la valeur d'origine, en ajoute une et l'affiche. Au lieu de cela, utilisez un élément d'entrée caché pour stocker la partition, car cela fera partie du post http à chaque aller-retour.

Par exemple:

<input type="hidden" id="HitsNo" value="1" runat="server" /> 

Ensuite, vous pouvez accéder à cette valeur cachée dans votre code-behind.