2010-11-29 24 views
0

REMARQUE: j'ai une page ASPX ASPX qui est rendue à partir d'un SiteMap. La première fois que le POSTBACK se produit, mais par la suite dans les mêmes sessions, POSTBACK ne se déclenche pas.ASP.NET- 2ème publication ne se passe pas via le lien SiteMap?

HACK (ne fonctionne pas) - J'ai la balise meta refresh comme celui-ci dans la balise HTML

<html> 
<head id="Head1" runat="server"> 
    <META HTTP-EQUIV="Refresh" CONTENT="2"> 
    <link rel="Stylesheet" type="text/css" href="~/Main.css" id="style"/> 
</head> 
</html> 

Quand je visitais cette page ASPX, je veux cette balise META à appeler qu'UNE SEULE FOIS. Donc, j'essayais le code suivant dans l'événement OnLoadComplete? -

 HtmlMeta meta = new HtmlMeta(); 
     HtmlHead head = (HtmlHead)Page.Header; 
     head.Controls.RemoveAt(0); 

Mais cela ne fonctionne pas. Une idée pourquoi la publication ne se passe-t-elle pas? d

Répondre

0

< meta http-equiv = "refresh" content = "2">

est adapté pour les personnes site web où nous voulons continuellement rafraîchir la page après un intervalle de temps donné, ici dans votre scénario si vous voulez rafraîchir toute la page une seule fois alors vous pouvez faire deux choses *). Appelez la méthode de réponse comme ceci

Response.Redirect("currentPage.aspx") 

*). Dans la méthode Page_Load

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Session["refresh"] != null) 
    { 
     HtmlMeta meta = new HtmlMeta(); 
     HtmlHead head = (HtmlHead)Page.Header; 
     head.Controls.RemoveAt(0); 
    } 
    else 
     Session["refresh"] = "not null"; 
} 
+0

Jeevan, problème est que je ne suis pas un poste quand je tombe sur cette page ASPX. Donc, je mettais le Tag META REFRESH pour un POSTBACK et ensuite je ne veux plus de POSTBACKS. – Jimmy

+0

@ Angshuman- vous pouvez poster votre code complet parce que je ne comprends pas pourquoi vous n'obtenez pas PostBack parce que dans un scénario normal, il va poster, votre question n'est pas claire. –

+0

Cette page est rendue à partir d'un lien SiteMap et une fois chargée, la 1ère publication est effectuée. Mais la deuxième fois que je clique sur le lien, POSTBACK n'est pas viré. – Jimmy

0

Je crois que le <META HTTP-EQUIV="Refresh" CONTENT="2"> devrait également avoir un attribut runat="server" pour que ASP.NET d'interagir avec elle.

MISE À JOUR
La deuxième fois, ce n'est pas une publication ASP.NET, la page n'est pas récupéré à l'aide POST mais en utilisant GET. Peut-être utiliser <meta http-equiv="refresh" content="2;url=http://example.com/myurl?myvariable=XYZ"/>, donc quand il rafraîchit, il va ajouter une variable. Sur votre "publication" vous vérifiez l'existence de cette variable.

+0

Gidon, Problème est-ce pourquoi la 2ème publication ne fonctionne pas pour le lien Sitemap? par conséquent, c'était un hack que j'ai essayé. Le problème est indiqué dans BOLD. – Jimmy

+0

Commander ma mise à jour. – Gidon