Razor Pages projeyi keşfet

Tamamlandı

Bu birimde, bir Web uygulamasını derlemek ve çalıştırmak için .NET Core CLI kullanacaksınız. Sağladığı Kullanıcı arabirimi deneyimini anlamak için çalışan uygulama turuna katılın.

Projeyi inceleyin

RazorPagesPizza proje dizini şu anda Visual Studio Code düzenleyicide açık. Aşağıdaki tabloda, önemli proje dosyaları ve dizinleri özetlenmektedir. Visual Studio Code düzenleyicisi penceresinde bunların her birini inceleyin.

Ad Açıklama
Sayfaları Razor Pages ve destekleyici dosyaları içerir. Her Razor sayfası bir dosya çiftidir:
* Razor söz dizimi kullanarak C# kodu ile biçimlendirme içeren bir . cshtml dosyası.
* Sayfa PageModel işleyicisi yöntemlerini ve sayfayı işlemek için kullanılan verileri tanımlayan bir. cshtml. cs sınıf dosyası.
Wwwroot HTML, JavaScript ve CSS gibi statik varlık dosyalarını içerir.
RazorPagesPizza. csproj Projenin bağımlılıklar gibi yapılandırma meta verilerini içerir.
Program.cs Uygulamanın yönetilen giriş noktası olarak görev yapar.
Startup.cs Sayfalar arasında yönlendirme gibi uygulama davranışını yapılandırır.

Razor sayfası dosyaları ve bunların eşleştirilmiş PageModel sınıf dosyası

kural gereği, sayfalar dizini tüm Razor Pages ASP.NET Core bir uygulamada depolandığı ve düzenlendiği yerdir.

Razor sayfası . cshtml dosya uzantısına sahiptir. Kurala göre, ilişkili PageModel C# sınıf dosyası aynı adı, ancak . cs eklenmiş olarak kullanır. Örneğin, Razor sayfası index. cshtml PageModel Dizin. cshtml. cs için ilişkili bir sınıf dosyasına sahiptir.

Bir model nesnesi veri özelliklerini tanımlar ve bu veri özellikleriyle ilgili mantığı veya işlemleri kapsüller. PageModel aslında aynı şeydir, ancak yalnızca Razor sayfasına yönelik kapsamlı veri özelliklerini ve mantık işlemlerini daha belirgin bir şekilde kapsülleyen bir modeldir. PageModel sınıfı:

  • Bir Razor sayfasının mantığının sunumuna ayrılmasını sağlar.
  • Sayfaya gönderilen istekler için sayfa işleyicilerini ve sayfayı işlemek için kullanılan verileri tanımlar.

Bir sayfa işleyici , http isteğinin sonucu olarak yürütülen yöntemdir. Örneğin, OnGet Razor sayfası sınıfındaki bir yöntem, PageModel BIR http get isteği için otomatik olarak yürütülür.

Sayfalar/paylaşılan Dizin

Çeşitli Razor sayfalarında paylaşılan kısmi biçimlendirme öğeleri, bir Sayfalar/paylaşılan dizinde kurala göre bulunur. RazorPagesPizza uygulaması, yeni bir ASP.NET Core Web uygulaması projesi oluşturduğunuzda dahil olan iki paylaşılan kısmi görünümü kullanır:

  • _Layout. cshtml: birden çok sayfa arasında ortak düzen öğeleri sağlar.
  • _ValidationScriptsPartial. cshtml: istemci tarafı form giriş doğrulaması ve siteler arası antiforgery doğrulaması gibi doğrulama işlevlerini sağlar. Bu kısmi görünüm, projedeki tüm sayfalar için kullanılabilir.

Düzenler ve kısmi görünüm dosyaları

  • düzenler: ASP.NET Core, düzenler, uygulamadaki görünümler için en üst düzey şablonu tanımlayan . cshtml dosyalarıdır. Uygulamalar bir düzen gerektirmez. Uygulamalar, farklı düzenleri belirten farklı görünümlerle birden fazla düzen tanımlayabilir. Çoğu web uygulaması, tutarlı bir kullanıcı deneyimi sağlayan ortak bir düzene sahiptir. Düzen genellikle uygulama üst bilgisi, gezinti veya menü öğeleri ve alt bilgi gibi ortak kullanıcı arabirimi öğelerini içerir. Betikler ve stil sayfaları gibi ortak HTML yapıları da bir uygulama içindeki birçok sayfa tarafından sık kullanılır. Bu paylaşılan öğelerin tümü, bir düzen dosyasında tanımlanabilir ve buna daha sonra uygulama içinde kullanılan herhangi bir görünüm tarafından başvurulabilir. Düzenler görünümlerde yinelenen kodu azaltır.

  • Kısmi görünüm: kısmi görünüm, başka bir işaretleme dosyasının işlenmiş çıktısındaki HTML çıkışını işleyen bir Razor biçimlendirme dosyasıdır (. cshtml). Kısmi görünümler, büyük işaretleme dosyalarını daha küçük bileşenlere ayırmak için kullanılır. Ayrıca, işaretleme dosyaları arasında ortak işaretleme içeriğinin çoğaltılmasını azaltır. Kısmi görünümler ortak düzen öğelerini korumak için kullanılmaz. Ortak düzen öğeleri bir _Layout.cshtml dosyasında belirtilir.

Düzenler ve kısmi görünümler bu modülün kapsamı dışındadır. Modülün sonunda, burada tanıtilen özellikler ve kavramlar hakkında daha fazla bilgi almak için bağlantılar sağlanır.

Sayfalar dizin yapısı ve yönlendirme istekleri

Razor Pages, yönlendirme istekleri için varsayılan olarak kural olarak Sayfalar dizininde dizin yapısını kullanır. Örneğin, Sayfalar dizininin kökünde bulunan bir dizin sayfası, uygulamanın sitesi için varsayılan sayfadır. RazorPagesPizza projesinin Pages/Products dizininde, Index.cshtml sayfası da dahil olmak üzere bir Razor sayfası koleksiyonu bulabilirsiniz. /Product/ dizinine yönlendirilen istekler fiziksel olarak Products/Index.cshtml dizininde bulunan varsayılan Index.cshtml sayfasını (örneğin, ) kullanmaya yönlendirecek. Projenin Razor sayfaları (.cshtml) ve eşlik eden sınıflar PageModel (.cshtml.cs) Sayfalar/Ürünler içinde rahatça gruplandı. Geçirilen tüm rota parametresi değerleri bir özellik aracılığıyla erişilebilir hale getirilir. ASP.NET Core sağlam yönlendirme özellikleri sunar.

Aşağıdaki tablo, bu modülün tamamlanmış projesinde kullanılacak yolları sağlar.

URL Haritalar Razor sayfasına gidin
www.domain.com Pages/Index.cshtml
www.domain.com/index Pages/Index.cshtml
www.domain.com/products Sayfalar/Ürünler/Index.cshtml
www.domain.com/products/create Sayfalar/Ürünler/Create.cshtml

Bilginizi ölçün

1.

Hangi ifade en iyi açıklar PageModel ?