Erfahrungen oder Fehler bei der Verwendung von asp.net mvc

8

Was sind Ihre wichtigsten Erfahrungen, die Sie beim Start von asp.net mvc gemacht haben, die Sie jemandem zeigen würden, der damit beginnt, diese Fehler zu vermeiden?

    
leora 07.09.2009, 17:50
quelle

11 Antworten

8
  • Verwenden Sie Html.Encode () überall dort, wo Sie Daten drucken, es sei denn, Sie haben einen guten Grund, dies nicht zu tun. Sie müssen sich also keine Gedanken über XSS machen.
  • Schreiben Sie keine Routen in Ihre Ansichten oder Javascripts fest - sie werden sich irgendwann ändern, verwenden Sie stattdessen Url.Action ()
  • Haben Sie keine Angst, Teilansichten zu verwenden
  • MVC ist kein Wundermittel, bewerten Sie zuerst, ob es tatsächlich das beste Werkzeug der Wahl ist, um Ihr Problem zu lösen.
Tamas Czinege 07.09.2009, 18:03
quelle
4

Vergessen Sie nicht den Teil "Unit Tests" des Musters.

    
mxmissile 07.09.2009 17:57
quelle
3

Versuchen Sie immer, ein ViewModel zu verwenden, um Daten zwischen dem Controller und der Ansicht zu übergeben. Sie denken vielleicht, Sie brauchen keinen, Sie können Ihr Modell einfach weitergeben, aber plötzlich benötigen Sie ein Listenfeld mit mehreren Optionen zum Bearbeiten eines Modells oder zum Anzeigen einer Nachricht (keine Überprüfungsmeldung) und Sie beginnen Elemente zu den ViewData hinzuzufügen , mit magischen Strings als Schlüssel, wodurch die Pflege der App erschwert wird. Es gibt auch einige Sicherheitsprobleme, die Sie mit einem ViewModel lösen. Zum Beispiel:

%Vor%

Ihre Ansicht ermöglicht es dem Benutzer, seinen Namen und seine E-Mail-Adresse zu ändern und in der Aktion zu posten

%Vor%

Jemand könnte Ihr Formular manipulieren und ein neues Passwort und einen neuen Nutzernamen eingeben und Sie müssen sehr vorsichtig mit dem Verhalten von DefaultBinder sein. Nun, wenn Sie ein ViewModel wie:

verwenden %Vor%

Das Problem ist weg.

    
Ariel Popovsky 07.09.2009 18:01
quelle
1
  • Wenn es möglich ist, geben Sie Ihre Ansicht ein

  • Vermeiden Sie Logik in Ihren Ansichten

  • Bleib weg vom HttpContext

Hannoun Yassir 07.09.2009 18:02
quelle
1
  1. Holen Sie sich Steve Sandersons Pro ASP.NET MVC Framework

  2. Debuggen Sie in den Quellcode

Mathias F 07.09.2009 19:37
quelle
1
  • Wenn Sie eine Controller-Methode mit einem anderen Parameternamen als id für eine einzelne Parametermethode erstellen, müssen Sie eine neue Route erstellen . Beißen Sie einfach in die Kugel und verwenden Sie id (es ist nicht wichtig für den Typ) und erklären Sie es in den Kommentaren.
  • Stellen Sie sicher, dass Sie Ihre Parameter mit RedirectToAction :

    benennen

    return RedirectToAction("DonateToCharity", new { id = 1000 });

  • Wenn Sie RedirectToAction .

Chris S 04.03.2010 09:24
quelle
1

Setzen Sie Javascript in separate Dateien, nicht in die Ansichtsseite

    
MarkB 25.09.2011 16:19
quelle
0

Name des Controllers:)

Komponententestmuster

    
anishMarokey 07.09.2009 18:00
quelle
0

Verwenden Sie nicht die Forms-Auflistung, verwenden Sie die Modellbindung.

Versuchen Sie nicht, ViewData zu verwenden, erstellen Sie ein ViewModel.

Wenn Sie eine Schleife oder ein if in Ihrer View haben, schreiben Sie einen HTML-Helfer.

Freundlichkeit,

Dan

    
Daniel Elliott 07.09.2009 18:00
quelle
0

Lassen Sie Ihren Controller nicht zu fett werden und tun Sie zu viel Arbeit. Ich habe in der Vergangenheit mehr als 1000 Line-Controller gesehen und es wird einfach ein absoluter Albtraum, um zu verstehen, was los ist.

Nutzen Sie Komponententests für Ihre Controller, um sicherzustellen, dass Abhängigkeiten unter Kontrolle gehalten werden und Ihr Code testbar ist.

Lassen Sie sich nicht dazu verleiten, jQuery und phantastisches clientscript das Verhalten Ihrer Anwendung definieren zu lassen, versuchen Sie es so sparsam wie möglich zu nutzen und lassen Sie es stattdessen Ihre Anwendung verbessern.

Verwenden Sie nach Möglichkeit Teilansichten und HTML-Helfer, um sicherzustellen, dass Ihre Ansichten nicht unhandlich und zu einem Alptraum werden.

Verwenden Sie wann immer möglich ein ViewModel.

Verwenden Sie ein Dependency-Injection-Framework, um Ihre Abhängigkeiten zu behandeln (MvcContrib hat mehrere Controller-Factories, obwohl es einfach genug ist, um Ihre eigenen zu rollen).

    
John Foster 07.09.2009 20:18
quelle
0

Verwenden Sie für jeden Bereich Ihrer Site einen anderen Controller (z. B. Home, Account)

Erfahren Sie, wie ViewData und TempData verwendet werden

Erfahren Sie, was RenderPartial verwendet

    
jean27 04.03.2010 09:15
quelle

Tags und Links