2009-08-10 10 views
1

ASP.NET hat eine Reihe von netten Features in Bezug auf die Dateneingabe Seiten machen:Ist es möglich, ASP.NET-Eingabesteuerelemente wie ein einfaches HTML-Formular zu verwenden?

  • steuert die Eingabe Hinzufügen von einfach (<asp: ...).
  • Das System generiert automatisch Elementvariable für die Steuerelemente.
  • Post-Backs füllen die Member-Variable automatisch mit den zurückgegebenen Werten auf.

und einige nicht so schöne Bits

  • post-Rücken scheinen selbst für die einfachsten Fälle JavaScript gebunden zu werden. Zum Beispiel mit statisch definierten Seiten, die nur grundlegende Steuerelemente verwenden, die zum Zeitpunkt der Kompilierung bekannt sind.

Meine Fragen:

  • Ist ist möglich, die erste Liste ohne die zweite zu bekommen?
  • Welche Funktionen bietet das JavaScript dem Benutzer?
  • Was macht dieses JavaScript eigentlich?
  • Was sind die technischen Gründe, dass es auch in trivialen Fällen verwendet wird?

Da es meine Vermutung in Fehler passiert waren: Siehe here

Antwort

1

Es ist wirklich auf die Art der Kontrollen ab, die Sie versuchen, hier zu verwenden - die einzigen, die Javascript diejenigen sind implementieren, die können 't nativ verursachen ein postback (dh, eine Eingabe/Übermitteln-Taste sind die einzigen zwei, die können). Wenn Sie einen LinkButton, ImageButton oder alles verwenden, für das Sie "AutoPostBack = true" festgelegt haben, wird Javascript aktiviert, um ein Postback zu verursachen.

Andere Steuerelemente können möglicherweise auch JavaScript verwenden, wenn sie wie der Kalender fortgeschritten sind. Der technische Grund für die Verwendung von Javascript besteht darin, ein automatisiertes Postback bereitzustellen, wenn die Steuerelemente eine erweiterte Serverinteraktion erfordern - denken Sie darüber nach, ein Link soll immer nur ein Link sein und wenn wir versuchen, ihn als Knopf zu betreiben muss es zwingen, genau das durch Javascript-Interaktion zu tun.

Also gesagt, ja Sie können definitiv ASP.NET ohne Javascript verwenden, müssen Sie nur die Steuerelemente zu vermeiden, die es durch die Einbeziehung von Funktionalität, die Sie möglicherweise nicht ohne es haben können. Sie können genauso einfach HTML-Steuerelemente hinzufügen und das runat = "server" -Attribut hinzufügen und Elementvariablen vom Code-Behind zum Steuerelement hinzufügen.

1

Hier ist, was mir in den Sinn kam:

What features does that JavaScript give the user?

Client-seitige Validierung.

What does that JavaScript actually do?

Für exmaple wird sichergestellt, dass die richtigen (serverseitig) Ereignishandler aufgerufen werden, indem das __EVENTTARGET versteckte Feld zu setzen.

Is is possible to get the first list without the second?

Sie können normale HTML-Steuerelemente anstelle der ASP.NET-Steuerelemente verwenden. Dann auf der Server-Seite können Sie die Kontrolle der Werte aus der Formularsammlung lesen.

1

Ich nehme an, Sie JavaScript mit einem <asp:Button /> Steuerelement zugeordnet bedeuten, nicht wahr?

Zusätzlich zu den von Fooberichu genannten Gründen kann die Javascript hilft auch mit ASP.NETs Client-Seite Validation Framework.

Aber ich denke, es ist primäre Verwendung ist es, den Rahmen zu alarmieren, welche Ereignisse sie hinter auf dem Postbacks auf der Seite ausgelöst werden sollen.

Also, wenn Sie auf dem Formular zwei Tasten haben, Savebutton und DeleteButton, hilft das Javascript des Framework wissen, ob es das SaveButton_Click Ereignis oder DeleteButton_Click Ereignis ausgeführt werden soll.

Hoffe, das hilft.