Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 19676|Jawab: 2

[Kiat] MVC metamodel metadata ViewData.ModelMetadata

[Salin tautan]
Diposting pada 28/06/2017 21.12.49 | | | |

ModelMetaData adalah konsep penting dalam MVC, termasuk namun tidak terbatas pada jenis model, atribut apa yang dikandung model, jenis atribut apa yang ada, dan karakteristik apa yang ada pada atribut.

ASP.NET MVC3.0 menyediakan metadata model default DataAnnotationsModelMetadata yang diwarisi dari ModelMetadata (selain itu, sistem menyediakan penyedia metadata model default DataAnnotationsModelMetadataProvider)

class publik DataAnnotationsModelMetadata : ModelMetadata

Konstruktornya adalah sebagai berikut

publik DataAnnotationsModelMetadata(DataAnnotationsModelMetadataProvider provider, jenis containerType, Func modelAccessor, Jenis modelType, string propertyName, DisplayColumnAttribute displayColumnAttribute);


Kelas DataAnnotationsModelMetadata memiliki beberapa properti yang umum digunakan

Nama tampilan DisplayName, string format DisplayFormatString

TemplateHint mendapatkan nilai untuk memilih templat mana yang akan digunakan


Untuk DisplayName, metode LabelFor<TModel, TValue> menggunakan properti ini untuk menghasilkan teks label.  ArtinyaSetelah properti DispalyName ditentukan pada model kita, gunakan metode html.editForModel() dalam tampilanIni akan secara otomatis menampilkan tag label " <label for="username" > nama </ untuk atribut model ini</label>.

  

[display( name="name",order=2)] //order mengubah urutan halaman html
  nama pengguna string publik { get; menetapkan; }




Kode sumber HTML:




Properti Tampilan yang digunakan pada atribut nama pengguna adalah kelas System.ComponentModel.DataAnnotations.DisplayAttribute, yang menyediakan fitur generik yang memungkinkan Anda menentukan string yang dapat dilokalkan untuk jenis dan anggota kelas divisi entitas


Ada juga fitur dari System.Web.MVC dan System.ComponentModel.DataAnnotations, yang namanya semuanya adalah kelas fitur yang mirip dengan XXXXAttribute, yang semuanya memiliki cakupan penggunaan tertentu, beberapa membatasi properti model, beberapa membatasi Contrller, beberapa membatasi Tindakan, dll.


Berikut ini adalah daftar kelas fitur bawaan dan umum digunakan di dua namespace ini

1) Ruang System.Web.MVC

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

Atribut HiddenInputAttribute

ActionFilterAttribute mewakili kelas dasar dari semua properti action-filter

HttpDeleteAttribute, yang mewakili properti yang digunakan untuk membatasi metode operasi sehingga metode hanya menangani permintaan HTTP DELETE

HttpGetAttribute, atribut HttpPostAttribute yang membatasi metode operasi untuk hanya memproses permintaan PUT

HttpPutAttribute mewakili properti yang digunakan untuk membatasi metode operasi sehingga metode hanya menangani permintaan HTTP PUT.


Contoh: ActionNameAttribute menentukan nama tindakan tindakan yang sebenarnya, dan penggunaannya adalah sebagai berikut

[NamaTindakan()]

publik ActionResult Index()


Contoh: Kelas HiddenInputAttribute, yang mewakili properti yang menunjukkan apakah nilai properti atau nilai bidang harus dirender sebagai elemen input tersembunyi




Mantan:[SEBUAH] MySql.Data.MySqlClient.MySqlConnection tidak dapat ditransmisikan ke [B]MySql.Data.MySqlC...
Depan:Uncaught TypeError: Tidak dapat mengatur properti 'uncotrusive' of undefined
 Tuan tanah| Diposting pada 28/06/2017 21.14.05 |
ModelMetadata



 Tuan tanah| Diposting pada 01/12/2017 16.53.12 |


ViewData untuk mendapatkan kode properti:

ViewDataDictionary viewDataData2=new ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com