ASP.NET Web Pages - 页面布局

通过 Web Pages,很容易创建布局一致的网站。

一致的外观

在因特网上,您会发现很多拥有统一外观的网站:

  • 每页拥有相同的页眉
  • 每页拥有相同的页脚
  • 每页拥有相同的样式和布局

通过 Web Pages,可以高效地实现这些。您可以得到可重复使用的代码块(内容块),比如页眉和页脚,在独立的文件中。

您也可以为所有页面定义一致的布局,使用布局模板(布局文件)。

内容块

很多网站都有需要在每张页面上显示的内容(比如页眉和页脚)。

通过 Web Pages,您可以使用 @RenderPage() 方法从不同的文件导入内容。

内容块(来自另一个文件)能够被输入网页中的任意位置,并可包含文本、标记和代码,就像任何常规的网页那样。

使用通用的页眉和页脚,会省去大量的工作。您不必在每页中编写相同的内容,并且当您改变页眉或页脚文件时,内容会在所有页面中更新。

इस तरह के कोड में है:

实例

<html>
<body>
@RenderPage("header.cshtml")

Hello Web Pages

This is a paragraph

@RenderPage("footer.cshtml") </body> </html>

चलाने वाला उदाहरण

使用布局页面

在之前的内容中,您已看到在多个网页中引用相同的内容是很简单的。

एक समान आकार की अनुसूची को बनाने के लिए एक अन्य तरीका लेआउट वेब पृष्ठ का उपयोग करना है। लेआउट वेब पृष्ठ को सामग्री के बजाय वेब पृष्ठ की संरचना शामिल करता है। जब वेब (सामग्री पृष्ठ) लेआउट पृष्ठ (टैम्प्लेट) के लिए लिंक किया जाता है, तो यह लेआउट पृष्ठ (टैम्प्लेट) के अनुसार प्रदर्शित होता है।

लेआउट पृष्ठ आम वेब पृष्ठ के समान है, लेकिन यह उस सामग्री पृष्ठ के स्थान पर आहे जहां इसे योग्य किया जाता है @RenderBody() तरीका。

प्रत्येक सामग्री पृष्ठ को अनिवार्य रूप से लेआउट निर्देशशुरू में।

इस तरह के कोड में है:

वेब पृष्ठ का विन्यास:

<html>
<body>
<p>यह टेक्स्ट है。</p>
@RenderBody()
<p>© 2012 CodeW3C.com. All rights reserved.</p>
</body>
</html>

कोई भी वेब पृष्ठ:

@{Layout="Layout.cshtml";}
<h1>Welcome to CodeW3C.com</h1>
<p>
यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है।
यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है।
यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है। यह टेक्स्ट है।
</p>

चलाने वाला उदाहरण

अपने आप को दोहराने का नहीं

दो एसपीएनईटी टूल के माध्यम से, वेब अनुप्रयोग को एकसमान आकार देने के लिए आपको सामग्री ब्लॉक और लेआउट पृष्ठ इस्तेमाल कर सकते हैं。

ये टूल आपको बहुत सारा काम कम करेंगे, क्योंकि आपको सभी पृष्ठों पर एक जैसी सूचना दोहराने की जरूरत नहीं होगी। टैग, स्टाइल और कोड को एकत्रित करके, वेब अनुप्रयोग को और आसान और रखरखावीला बनाया जा सकता है।

कोड लीक को रोकना

ASP.NET में, नाम के आरंभ में बाला उठाया गया फ़ाइल वेब के द्वारा ब्राउज़ किया नहीं जा सकता है।

यदि आप इस वाक्यांश को अनुवाद करना चाहते हैं कि उपयोगकर्ता सामग्री ब्लॉक या डिजाइन फ़ाइल देख सकते हैं तो फ़ाइल का नाम फिर से नामकरण करें:

  • _header.cshtm
  • _footer.cshtml
  • _Layout.cshtml

गोपनीय जानकारी छुपाना

ASP.NET में, गोपनीय जानकारी (डाटाबेस पासवर्ड, ईमेल पासवर्ड आदि) छुपाने का एक आम तरीका यह है कि इस जानकारी को "_AppStart" नामक स्वतंत्र फ़ाइल में बचाया जाता है।

_AppStart.cshtml

@{
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "username@example.com";
WebMail.Password = "your-password";
WebMail.From = "your-name-here@example.com";
}