2009-05-12 8 views
2

Je mehr ich in MVC graben je mehr ich es lieben und denken, wie war ich mit Web Forms arbeiten :)Gewusst wie: ein Ajaxified Htmlhelper in ASP.Net MVC erstellen

aber Somethings sind wirklich wie in in Web verwirrend Formen, wenn ich ein Steuerelement kapseln wollte, sagen wir ein Kombinationsfeld, dann würde ich ein Benutzersteuerelement erstellen und dieses Kombinationsfeld hinzufügen und Eigenschaften deklarieren, dann kann ich es auf jeder Seite ablegen und wenn ich das Benutzersteuerelement ändern Änderung gilt für alle Instanzen auf der Website, ziemlich einfach in Webformularen.

jetzt in MVC Ich habe gelernt, dass Sie Extra-Helfer durch Erweiterungsmethoden erstellen können, und es ist wirklich cool, aber mein Ziel ist, dass ich möchte, dass es Ajaxified.

hier ist, was ich will:

  • ich es Web Forms wie Text-Eigenschaft, ausgewählten Wert, etc ...
  • i wird mit Jquery für coole Effekte wie Markieren Sie ein Element emulieren wollen Mouse Hover, also möchte ich eine Möglichkeit, das Scripting mit diesem HTML Helper zu integrieren, so dass ich es nicht für jede Combo Box, die ich hinzufüge, wie für Beispiel Telerik Controls oder ein Web Forms Server Control auf eine View- oder Masterseite schreiben muss .

eine andere Frage ist HTML-Helfer auf Server gerendert? oder sie sind reines HTML und es gibt keine Server-Verarbeitung wie Server Controls?

Hinweis: Ich weiß, dass MVC bereits eine Liste HTML-Helfer hat, aber ich habe dies als ein Beispiel gebracht.

danke im voraus.

Antwort

1

Haben Sie sich die AjaxHelper-Klasse und ihre Erweiterungen angesehen? Das scheint nach dem zu sein, wonach du suchst. Sie können die Quelle für die Datei AjaxExtensions.cs betrachten und dann Ihre eigenen AjaxHelper-Erweiterungen nach dem gleichen Muster erstellen.

Ja, HtmlHelper (und AjaxHelper) -Funktionen geben HTML-Strings über C# -Code aus, der auf dem Server ausgeführt wird.

1

Die HtmlHelper-Erweiterungsmethoden werden in der Ansicht auf dem Server ausgeführt. Der resultierende HTML-Code, der generiert wird, ist in der Seite enthalten, die an den Browser gesendet wird.

Sie können kein traditionelles ASP.NET WebForms Server Control mit einer HtmlHelper-Erweiterungsmethode erstellen, wie Sie es beschreiben, "emulieren Web Forms wie Text-Eigenschaft, Ausgewählter Wert, etc ..." Wenn Sie in der Lage waren zu implementieren so etwas mit ASP.NET MVC, dann sollten Sie wahrscheinlich nur ASP.NET WebForms für Ihr Projekt in erster Linie verwenden.

Ich empfehle wirklich, eine Kopie von "Pro ASP.NET MVC 1.0" abzuholen. Dieses Buch wurde von Rob Conery, Scott Hanselman, Phil Haack und Scott Guthrie geschrieben und enthält eine Menge Erklärungen zu "Was zu tun und warum?", Wenn Apps/Sites mit ASP.NET MVC erstellt werden. zusammen mit direkten Vergleichen mit den Unterschieden zwischen ASP.NET WebForms und ASP.NET MVC. Das erste Kapitel des Buchs ist ein vollständiges Tutorial zum Erstellen einer voll funktionsfähigen Anwendung mit ASP.NET MVC anstelle des traditionellen "Hello World" -Beispiels, das jedes andere Buch demonstriert.

+0

danke für deine antwort mann, ich wollte nicht so etwas wie web form genau bauen, ich möchte nur einige repetitive jobs reduzieren. wie wenn Sie HTML Helper erstellen, tun Sie das und speichern Sie Ihre eigene Zeit, aber meine Frage ist, wie es automatisch JavaScript injizieren, wie zum Beispiel das Bearbeitungsfeld hier im Stapel über den Fluss? und ja, ich habe das Buch, und es ist ein großartiges Buch, einer der Gründe, die mich in MVC ernst nehmen lassen! – DevMania

Verwandte Themen