tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
4375
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Aug 2002
    Ort
    Passau / Bayern
    Beiträge
    344
    Hallo!

    Ich habe auf einer Webseite eine Textbox (asp:textbox) sowie einen Button (asp:button). Wenn ich nun in die Textbox etwas reinschreibe und auf den Button klicke, dann kann ich im Code-Behind mit den Werten arbeiten. Schreibe ich dagegen etwas in die Textbox und drücke [Enter], dann wird zwar der Postback ausgelöst, aber die Werte sind nicht verfügbar im Code-Behind.

    Hab schon rumgegoogelt, leider halfen die gefundenen Work-Arounds nichts. Wer könnte mir da helfen? DANKE!
     
    Das Leben ist sch**ße ... aber die Grafik ist geil!

  2. #2
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hallo,

    Behandelst du die Daten auch nicht im Button-OnClick Event?


    Mfg,
    Alex
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  3. #3
    Registriert seit
    Aug 2002
    Ort
    Passau / Bayern
    Beiträge
    344
    Was genau meinst Du damit?


    Hab schon was gefunden. Wenn ich eine unsichtbare Nicht-ASP-Textbox in den Form-Tag reinsetze, dann klappts.
     
    Das Leben ist sch**ße ... aber die Grafik ist geil!

  4. #4
    Leominora Leominora ist offline Grünschnabel
    Registriert seit
    May 2004
    Beiträge
    2
    Es ist schön, dass du eine Lösung gefunden hast.

    Mich würde sehr interessieren, wie du das mit dem versteckten Feld gemacht hast.
    Suche nun schon 3 Stunden nach einer Lösung meines 'Enter' Problems.
     

  5. #5
    Registriert seit
    Aug 2002
    Ort
    Passau / Bayern
    Beiträge
    344
    Na ja, ich hab das so gemacht wie ich es geschrieben habe:

    In den Form-Tag eine unsichtbare Textbox (Hidden Field) reingesetzt. Dann hat ers bei mir genommen.
    Code :
    1
    2
    3
    
    <form runat="server">
       <input type="hidden" name="dummy" />
    </form>
    Oder so ähnlich, schon eine Weile her ...
     
    Das Leben ist sch**ße ... aber die Grafik ist geil!

  6. #6
    Leominora Leominora ist offline Grünschnabel
    Registriert seit
    May 2004
    Beiträge
    2
    Das versteh ich jetzt aber nicht!

    Du machst einfach so ein Feld rein und dann? Dann wird bei einem Enter in der ASP-Textbos das Submit ausgeführt?

    Hättest Du zufällig das Beispiel parat? War auf x Seiten und hab alles ausprobiert, und es funktionierte alles nicht!
     

  7. #7
    Registriert seit
    Aug 2002
    Ort
    Passau / Bayern
    Beiträge
    344
    Original geschrieben von Leominora
    Du machst einfach so ein Feld rein und dann? Dann wird bei einem Enter in der ASP-Textbos das Submit ausgeführt?
    Ja, genau.

    Na ja, also verstehen tu ich das auch ned wirklich, bin damals eher zufällig drübergestolpert über diese Lösung. Das Beispiel kann ich Dir ned liefern, weil ich die Sourcen nicht mehr habe und das schon ewig her ist. Aber ich denke schon, dass ich das so gemacht habe.

    Es könnte damit zu tun haben, dass ein Hidden-Field ein HTML-Steuerelement ist und kein ASP.NET-Steuerelement. Die HTML-Steuerelemente werden von .NET nicht "umgestaltet" beim Rendering oder so ähnlich und reagieren evtl. anders.
     
    Das Leben ist sch**ße ... aber die Grafik ist geil!

  8. #8
    Avatar von DonCorleone
    DonCorleone DonCorleone ist offline Mitglied
    Registriert seit
    Mar 2004
    Ort
    Flensburg
    Beiträge
    12
    Moin Leute,

    ihr könnt das ganze noch feiner machen mit Javascript.

    Zuerst erstellt ihr eine Klasse namens CJsDefaultButton.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    
    using System;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
     
    namespace MyProjekt.Tools
    {   
       public class CJsDefaultButton
      {
          private string    m_jsRegister;
          private Button    m_DButton;
          private TextBox   m_TxtSubmit;
          private Control m_UserControl;
     
     
         // CJsDefaultButton
     public CJsDefaultButton(string jsRegister,Button dButton,TextBox myTextBox, Control myControl)
     {
       m_jsRegister     = jsRegister;
       m_DButton    = dButton;
       m_TxtSubmit  = myTextBox;
       m_UserControl    = myControl;
    }
            
    //Öffentliche Eigenschaften der Textbox
    public TextBox TextBoxSubmit
    {
      set{m_TxtSubmit = value;}
       get{return m_TxtSubmit;}
    }
     
    //Öffentliche Eigenschaften des Buttons
    public Button ButtonDefault
    {
      set{m_DButton = value;}
      get{return m_DButton;}
    }
     
    //Den JavaScript Rendern
    public void DefaultButton()
    {
       string sJsReturn;
       // Write your JavaScript Code into a string.
      sJsReturn = "<script language=javascript>" + Environment.NewLine;
      sJsReturn +="function fnTrapKD(btn){" + Environment.NewLine;
      sJsReturn +=" if (event.keyCode == 13)" + Environment.NewLine;
      sJsReturn +=" { " + Environment.NewLine;
      sJsReturn +=" event.returnValue=false;" + Environment.NewLine;
      sJsReturn +=" event.cancel = true;" + Environment.NewLine;
      sJsReturn +=" btn.click();" + Environment.NewLine;
      sJsReturn +="  } " + Environment.NewLine;
      sJsReturn +=" } " + Environment.NewLine;
      sJsReturn +="<";
      sJsReturn +="/";
      sJsReturn +="script";
      sJsReturn +=">";
      // Add a JavaScript Event to your TextBox
      TextBoxSubmit.Attributes.Add("onkeydown", "fnTrapKD(document.all." +   ButtonDefault.ClientID + ")");
     RegisterJs(m_UserControl,sJsReturn);
    }
     
    //Bewirkt, dass das JavaScript am Anfang der Seite gerendert wird.
    private void RegisterJs(Control myControl,string jsString)
    {
      if(!myControl.Page.IsStartupScriptRegistered(m_jsRegister))
          myControl.Page.RegisterStartupScript(m_jsRegister,jsString);
    }
            
    }//Ende Klasse CJsDefaultButton
        
    }//End Namespace MyProjekt

    Diese Bibliothek kannst du nun überall in deinen CodeBehind Dateien vwerden.
    Beispiel:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    using MyProjekt.Tools;
    namespace MyProjekt
    {
       public abstract class CHalloPage : Page
       {
           protected TextBox    txtCom;
           protected Button      btnCom;
     
          //Hier wird jetzt der DefaultButton registriert. Danach wird mit Enter die Form Submittet
          private void Page_Load(Object sender,EventArgs e)
          {
             CJsDefaultButton myDefButton = new CJsDefaultButton ("ComIDButton",btnCom,txtCom,this);
            myDefButton.DefaultButton();
          }
       }//Ende Klasse
    }//Ende Namespace
     
    Ich weiß, dass du es warst und das bricht mir das Herz

Ähnliche Themen

  1. Mit Enter einen Button aktivieren
    Von java777 im Forum Java
    Antworten: 1
    Letzter Beitrag: 20.05.10, 21:26
  2. Antworten: 2
    Letzter Beitrag: 08.11.07, 14:15
  3. Css zuweisen auf einen submit button
    Von beatrix im Forum HTML & XHTML
    Antworten: 4
    Letzter Beitrag: 13.10.06, 15:28
  4. Wert von Radio Button auf einen Submit Button weiterleiten
    Von ImperatorAres im Forum Flash Plattform
    Antworten: 8
    Letzter Beitrag: 20.09.05, 07:19
  5. Automatisch einen Submit Button aktivieren
    Von MatMagic im Forum PHP
    Antworten: 3
    Letzter Beitrag: 14.06.05, 19:55