Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 19676|Απάντηση: 2

[Συμβουλές] Μεταδεδομένα μεταμοντέλου MVC ViewData.ModelMetadata

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 28/6/2017 9:12:49 μ.μ. | | | |

Το ModelMetaData είναι μια σημαντική έννοια στο MVC, συμπεριλαμβανομένων, ενδεικτικά, του τύπου του μοντέλου, των χαρακτηριστικών που περιέχει το μοντέλο, των τύπων χαρακτηριστικών που υπάρχουν και των χαρακτηριστικών που υπάρχουν στα χαρακτηριστικά.

ASP.NET Το MVC3.0 παρέχει τα προεπιλεγμένα μεταδεδομένα μοντέλου DataAnnotationsModelMetadata που κληρονομεί από το ModelMetadata (επιπλέον, το σύστημα παρέχει τον προεπιλεγμένο πάροχο μεταδεδομένων μοντέλου DataAnnotationsModelMetadataProvider)

δημόσια τάξη DataAnnotationsModelMetadata : ModelMetadata

Ο κατασκευαστής του έχει ως εξής

public DataAnnotationsModelMetadata(DataAnnotationsModelMetadataProvider provider, Type containerType, Func modelAccessor, Type modelType, string propertyName; DisplayColumnAttribute displayColumnAttribute);


Η κλάση DataAnnotationsModelMetadata έχει πολλές ιδιότητες που χρησιμοποιούνται συχνά

Εμφανιζόμενο όνομα DisplayName, συμβολοσειρά μορφής DisplayFormatString

Το TemplateHint λαμβάνει μια τιμή για να επιλέξει ποιο πρότυπο θα χρησιμοποιηθεί


Για το DisplayName, η μέθοδος LabelFor<TModel, TValue> χρησιμοποιεί αυτήν την ιδιότητα για τη δημιουργία του κειμένου της ετικέτας.  ΣημαίνειΜόλις οριστεί η ιδιότητα DispalyName στο μοντέλο μας, χρησιμοποιήστε τη μέθοδο html.editForModel() στην προβολήΘα εμφανίσει αυτόματα την ετικέτα ετικέτας " <label for="username" > όνομα </ για αυτό το χαρακτηριστικό</label> του μοντέλου.

  

[display( name="name",order=2)] //order αλλάζει τη σειρά της σελίδας HTML
  όνομα χρήστη δημόσιας συμβολοσειράς { get; σειρά; }




Πηγαίος κώδικας HTML:




Η ιδιότητα Display που χρησιμοποιείται στο χαρακτηριστικό ονόματος χρήστη είναι η κλάση System.ComponentModel.DataAnnotations.DisplayAttribute, η οποία παρέχει μια γενική δυνατότητα που σας επιτρέπει να καθορίσετε συμβολοσειρές με δυνατότητα τοπικής προσαρμογής για τον τύπο και το μέλος της κλάσης διαίρεσης οντότητας


Υπάρχουν επίσης λειτουργίες από το System.Web.MVC και το System.ComponentModel.DataAnnotations, των οποίων τα ονόματα είναι όλες χαρακτηριστικών παρόμοιες με το XXXXAttribute, οι οποίες έχουν όλα συγκεκριμένα πεδία χρήσης, ορισμένα περιορίζουν τις ιδιότητες του μοντέλου, άλλα περιορίζουν το Contrller, άλλα περιορίζουν τις ενέργειες κ.λπ.


Ακολουθεί μια λίστα με ενσωματωμένες και κοινώς χρησιμοποιούμενες χαρακτηριστικών σε αυτούς τους δύο χώρους ονομάτων

1) Χώρος System.Web.MVC

AcceptVerbsAttribute,ActionFilterAttribute,ActionNameAttribute,AsyncTimeoutAttribute,AuthorizeAttribute,BindAttribute,

HiddenInputAttribute

Το ActionFilterAttribute αντιπροσωπεύει τη βασική κλάση όλων των ιδιοτήτων φίλτρου δράσης

HttpDeleteAttribute, η οποία αντιπροσωπεύει μια ιδιότητα που χρησιμοποιείται για τον περιορισμό της μεθόδου λειτουργίας, έτσι ώστε η μέθοδος να χειρίζεται μόνο αιτήσεις HTTP DELETE

HttpGetAttribute, ένα χαρακτηριστικό HttpPostAttribute που περιορίζει τη μέθοδο λειτουργίας στην επεξεργασία μόνο αιτημάτων PUT

Το HttpPutAttribute αντιπροσωπεύει μια ιδιότητα που χρησιμοποιείται για τον περιορισμό της μεθόδου λειτουργίας, έτσι ώστε η μέθοδος να χειρίζεται μόνο αιτήματα HTTP PUT.


Παράδειγμα: Το ActionNameAttribute καθορίζει το πραγματικό actionname της ενέργειας και η χρήση είναι η εξής

[ΌνομαΔράσης()]

δημόσιο ActionResult Index()


Παράδειγμα: Η κλάση HiddenInputAttribute, η οποία αντιπροσωπεύει μια ιδιότητα που υποδεικνύει εάν μια τιμή ιδιότητας ή μια τιμή πεδίου πρέπει να αποδοθεί ως κρυφό στοιχείο εισόδου




Προηγούμενος:[ένα] Το MySql.Data.MySqlClient.MySqlConnection δεν μπορεί να μεταδοθεί στο [B]MySql.Data.MySqlC...
Επόμενος:Uncaught TypeError: Δεν είναι δυνατός ο ορισμός της ιδιότητας «διακριτικός» του undefined
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 28/6/2017 9:14:05 μ.μ. |
ΜοντέλαΜεταδεδομένα



 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 1/12/2017 4:53:12 μ.μ. |


ViewData για να λάβετε τον κωδικό ακινήτου:

ViewDataDictionary viewData2=new ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com