Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
617 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C# .Net] Aller en bas de la page via un <asp:Button>

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C# .Net] Aller en bas de la page via un <asp:Button>

n°1481612
Roodie
Posté le 25-11-2006 à 11:15:09  profilanswer
 

Bonjour à tous :)
 
J'ai un bouton dans ma page .aspx :  

Code :
  1. <asp:Button ID="myButton" Onclick="myButton_Click" runat="server" />
  2. ...
  3. <a name="bottom" />


Maintenant, je voudrais qu'en plus de faire son action "myButton_Click" la page soit reloadée avec à la fin de l'URL ceci : #bottom (pour aller en bas de la page). Le truc, c'est qu'il faut que la page se reload avec (PostBack=true).  
Je ne suis pas arrivé à faire cela, même avec du javascript :'(
 
Merci beaucoup si vous avez une idée :)

mood
Publicité
Posté le 25-11-2006 à 11:15:09  profilanswer
 

n°1481932
Roodie
Posté le 26-11-2006 à 16:24:41  profilanswer
 

Personne ne sait ? :'(

n°1482395
_Mose_
Lonesome coder
Posté le 27-11-2006 à 16:11:23  profilanswer
 

Si ça existe, c'est en JavaScript.
C# en fait rien côté client...
 
Si tu as un réponse sur le forum Javascript, merci de nous transmettre la reponse :)

n°1482727
Roodie
Posté le 27-11-2006 à 23:48:18  profilanswer
 

Coucou
 
Oui, il s'agit bien de Javascript. Seulement, en plus du javascript (qui redirige vers le bas de la page), je veux aussi que mon bouton C# exécute du code C#. Et c'est le fait d'allier javascript (client) + C# (server) qui me pose problème :'(
Merci quand même, et si qqn a une idée :)


Message édité par Roodie le 27-11-2006 à 23:48:52
n°1483175
_Mose_
Lonesome coder
Posté le 28-11-2006 à 17:08:09  profilanswer
 

Attend... tu veux exécuter du code serveur.
Donc tu vas avoir un aller-retour serveur.
Donc tu n'as plus besoin de ton Javascript pour aller au bas de la page.
On est d'accord ?
J'ai comme l'impression que non :)
 
Sinon tu veux exécuter du code C# sur ton serveur, mais sans faire d'aller-retour serveur ???
T'es sûr que c'est une appli web que tu veux faire ?
 
Enfin, oui, il est possible de faire les deux : en Javascript tu peux déclencher le fonctionnement d'un bouton, ce qui te permet de faire du code client suivi de code serveur.
Mais du coup, ça sert à rien d'aller en bas de la page vu qu'elle va être rechargée...

n°1483409
Roodie
Posté le 28-11-2006 à 22:48:44  profilanswer
 

Oui, j'ai bien compris que javascript puis C# ne servait à rien puisque la page est reloadée. Et je sais ce que c'est que la notion client-serveur :)
Ce que je veux en fait, c'est exécuter du C# puis javascript quand j'appuie sur un <asp:Button...>.  
Tu saurais ça ?  
En tout cas, merci beaucoup pour ton aide :)

n°1483415
MagicBuzz
Posté le 28-11-2006 à 23:00:10  profilanswer
 

-- en cours d'édition [:magicbuzz]
 
bah moi je vote, et je dis que c'est pas gagné en fait :D
 
pkoi pas faire un simple lien <a href="#bas"> ?


Message édité par MagicBuzz le 28-11-2006 à 23:38:10
n°1483698
_Mose_
Lonesome coder
Posté le 29-11-2006 à 13:35:39  profilanswer
 

Comprend pas...
Tu veux exécuter du C# au 'Click' du bouton. Ok, pas de pb. Du coup ta page se recharge.
 
Après tu veux éxécuter du Javascript ?
Bein pas de problème non plus, tu colles ton script au début de ta page et tu t'arrange pour qu'il soit appelé au chargement...
 
Bon... tu veux pas nous dire ce que tu veux faire fonctionnellement, paske là je comprend pas où tu veux arriver...


Message édité par _Mose_ le 29-11-2006 à 13:35:57
n°1483765
MagicBuzz
Posté le 29-11-2006 à 15:06:27  profilanswer
 

c clair qu'un bon gros :
 
<input type="submit" onclick="document.location.href='#bas';return false';" value="Va voir en bas si j'y suis">
 
Bah ce serait autrement plus simple :o

n°1483974
Roodie
Posté le 29-11-2006 à 22:31:06  profilanswer
 

Bon d'accord, je vous explique la situation  :D  
Je fais un forum en asp.net. Ma page .aspx en question est la même que la page que vous voyez :  
- un thread avec tous ses posts
- un <asp:Button...OnClick="btReply_Click"...> "Reply"
 
Lorsque l'utilisateur appuie sur "Reply", je veux que ça fasse 2 choses, dans cet ordre :  
- ça va dans la méthode btReply_Click() pour vérifier son authentification entre autres. Côté C# donc.  
- ensuite, ça redirige vers le bas de la page pour que l'utilisateur puisse entrer son post (la textbox étant tout en bas de la page)
 
Voilà :)
Vos propositions ne conviennent pas exactement en fait, mais avec ces explications, vous comprendrez mieux.  
Merci beaucoup encore et si vous savez, n'hésitez pas :)

mood
Publicité
Posté le 29-11-2006 à 22:31:06  profilanswer
 

n°1483977
MagicBuzz
Posté le 29-11-2006 à 22:38:40  profilanswer
 

Bah c pourtant simple à la base :
(en .NET 2.0)
 


<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /><br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine"></asp:TextBox>&nbsp;</div>
    </form>
</body>
</html>


 

Code :
  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Web;
  5. using System.Web.Security;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using System.Web.UI.WebControls.WebParts;
  9. using System.Web.UI.HtmlControls;
  10. public partial class _Default : System.Web.UI.Page
  11. {
  12.     protected void Page_Load(object sender, EventArgs e)
  13.     {
  14.         TextBox1.Text = "en haut";
  15.     }
  16.     protected void Button1_Click(object sender, EventArgs e)
  17.     {
  18.         TextBox1.Text = "en bas";
  19.         TextBox1.Focus();
  20.     }
  21. }

n°1483981
Roodie
Posté le 29-11-2006 à 23:01:56  profilanswer
 

Ah ouais :)
C'était TextBox1.Focus(); ça résoud mon problème. J'y avais même pas pensé :)
Merci bien !
Et pour la ptite histoire, tu saurais appeler du C# suivi du javascript comme j'ai cru qu'il fallait que je le fasse ?  
Merci beaucoup en tout cas :)


Message édité par Roodie le 29-11-2006 à 23:02:36
n°1483994
MagicBuzz
Posté le 30-11-2006 à 00:49:53  profilanswer
 

Bah, tu crées un literal, et tu vais un truc du genre (pas certifié ceci dit) :
 

monLiteral.Text = @"<script type=\"text/javascript\">document.location.href=\"#bas\";</script>";


Message édité par MagicBuzz le 30-11-2006 à 00:50:05
n°1484668
Roodie
Posté le 30-11-2006 à 22:30:23  profilanswer
 

Euh... je ne vois pas comment je pourrais utiliser ce Literal pour résoudre mon problème. Tu peux développer un peu ? Merci bien :)

n°1484681
MagicBuzz
Posté le 30-11-2006 à 23:25:06  profilanswer
 

Code :
  1. protected void Button1_Click(object sender, EventArgs e)
  2.     {
  3.         TextBox1.Text = "en bas";
  4.         TextBox1.Focus();
  5.         HtmlContainerControl script = new HtmlGenericControl("script" );
  6.         script.Attributes.Add("type", "text/javascript" );
  7.         script.InnerHtml = "alert(\"plop\" );";
  8.         Panel1.Controls.Add(script);
  9.     }


 
Ajoute juste un contrôle "<asp:panel>" d'id "Panel1" dans ta page HTML.
Tu verras que par ce moyen tu peux éxécuter du JS généré à la volée.

n°1485259
Roodie
Posté le 01-12-2006 à 23:24:04  profilanswer
 

Ah ouais ça marche ! Chui impressionné :)
Merci bcp pour le tip :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C# .Net] Aller en bas de la page via un <asp:Button>

 

Sujets relatifs
Afficher le contenu d'un fichier html sur une autre page[.Net 2 CLR] relation entre GetHashCode() et Equals()
Probleme avec un script java sur une page htmlOption de compilation 16 bits sur Visual .NET ?
Proteger une page par mot de passepetite aide à propos d'une page (php?)
[xhtml-css] un div jusqu'en bas de pageEffet page qui se tourne au clic d'un lien ?
Button qui s'efface si je passe une fenetre au dessuslien: ouvrir dans une autre page
Plus de sujets relatifs à : [C# .Net] Aller en bas de la page via un <asp:Button>


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR