2009-04-27 4 views
1

J'utilise un coda slider comme consctuct sur une de mes pages. Naturellement, les informations d'ancrage ("#currentTab") sont perdues après une publication. C'est ennuyeux parce que lorsque vous appuyez sur un bouton sur un certain onglet, vous finissez toujours sur le premier onglet après la publication.Conserver l'ancre après publication dans asp.net

Quelle est la meilleure façon de laisser cette information survivre à une publication?

Répondre

-1

Soit exécuter votre postback comme une requête AJAX, ou ajouter un peu de javascript pour la forme qui envoie la valeur d'ancrage au serveur

exemple rugueux

<form onsubmit="this.anchor.value=top.location.hash"> 
    <input name="anchor" type="hidden" value=""> 
    <!-- rest of form --> 
</form> 

Ensuite, vous aurez besoin d'une convention renvoyez-le au client et effectuez l'action appropriée.

+0

Votre réponse avait l'air mieux: je

Page.ClientScript.RegisterStartupScript(Me.GetType(), "anchor", "location.hash = '" + Request.Form("anchor") + "';", True)
pour retourner la valeur de la Serverside. – Lodewijk

1

Je ne fais pas en ASP, mais comme une solution générale tentative cela pourrait fonctionner pour vous aussi:

  1. créer un champ caché dans le formulaire que vous envoyez
  2. sur le changement onglet, remplissez la valeur de cet onglet sélectionné (s'il n'y a pas de valeurs pour identifier les onglets, créez-les)
  3. Lors du rendu de la page après l'envoi, créez un morceau de javascript à la volée, qui permute l'onglet sur DOM: prêt.
5

Essayez ceci est votre événement page_load

Me.Form.Attributes("onsubmit") = "this.action+=top.location.hash;" 
Questions connexes