• asp.net简述WP开发模式


    详情请参考菜鸟教程:http://www.runoob.com/aspnet/aspnet-tutorial.html

    1.ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。

    2.ASP.NET 支持三种不同的开发模式:Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体)

     其中,Web Pages 是开发 ASP.NET 网站最简单的开发模式。

       使用 VB (Visual Basic) 或者 C# (C sharp) 最新的 Razor 服务器标记语法将 HTML、CSS、JavaScript 和服务器代码结合起来。

    3.ASP.NET 是新一代 ASP 。它与经典 ASP 是不兼容的,但 ASP.NET 可能包括经典 ASP。

       ASP.NET 页面是经过编译的,这使得它们的运行速度比经典 ASP 快。

       ASP.NET 具有更好的语言支持,有一大套的用户控件和基于 XML 的组件,并集成了用户身份验证。

      ASP.NET 页面的扩展名是 .aspx ,通常是用 VB (Visual Basic) 或者 C# (C sharp) 编写。

      在 ASP.NET 中的控件可以用不同的语言(包括 C++ 和 Java)编写。

    4.Razor 是一种将服务器代码嵌入到 ASP.NET 网页中的新的、简单的标记语法,很像经典 ASP 。

       经典 ASP 文件的文件扩展名为 .asp

     ASP.NET 文件的文件扩展名为 .aspx

       Razor C# 语法的 ASP.NET 文件的文件扩展名为 .cshtml

       Razor VB 语法的 ASP.NET 文件的文件扩展名为 .vbhtml

    5.Web Pages(Web 页面)WP开发模式(提供了一种简单的方式来将 HTML、CSS、JavaScript 和服务器脚本结合起来)

     xxx .cshtml文件

    <!DOCTYPE html>
    <html>
    <body>
         <h1>Hello Web Pages</h1> 
         <p>The time is @DateTime.Now</p>
    </body>
    </html>
    • Razor 是一种将基于服务器的代码添加到网页中的标记语法
    • Razor 具有传统 ASP.NET 标记的功能,但更容易使用并且更容易学习
    • Razor 是一种服务器端标记语法,与 ASP 和 PHP 很像
    • Razor 支持 C# 和 Visual Basic 编程语言

    主要的 Razor C# 语法规则

    • Razor 代码块包含在 @{ ... } 中
    • 内联表达式(变量和函数)以 @ 开头
    • 代码语句用分号结束
    • 变量使用 var 关键字声明
    • 字符串用引号括起来
    • C# 代码区分大小写
    • C# 文件的扩展名是 .cshtml
    <html>
    <body>
    <!-- Single statement block -->
    @{ var myMessage = "Hello World"; }
    
    <!-- Inline expression or variable -->
    <p>The value of myMessage is: @myMessage</p> 
    
    <!-- Multi-statement block -->
    @{
    var greeting = "Welcome to our site!";
    var weekDay = DateTime.Now.DayOfWeek;
    var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
    }
    
    <p>The greeting is: @greetingMessage</p>
    </body>
    </html>

    主要的 Razor VB 语法规则

    • Razor 代码块包含在 @Code ... End Code 中
    • 内联表达式(变量和函数)以 @ 开头
    • 变量使用 Dim 关键字声明
    • 字符串用引号括起来
    • VB 代码不区分大小写
    • VB 文件的扩展名是 .vbhtml
    <!-- Single statement block  --> 
    @Code dim myMessage = "Hello World" End Code
     
    <!-- Inline expression or variable --> 
    <p>The value of myMessage is: @myMessage</p> 
     
    <!-- Multi-statement block --> 
    @Code
    dim greeting = "Welcome to our site!" 
    dim weekDay = DateTime.Now.DayOfWeek 
    dim greetingMessage = greeting & " Here in Huston it is: " & weekDay
    End Code 
    
    <p>The greeting is: @greetingMessage</p>

    Web Pages - 页面布局

    内容块(来自另一个文件)能被导入网页中的任何地方。内容块可以包含文本,标记和代码,就像任何普通的网页一样。

    使用 @RenderPage() 方法从不同的文件导入内容。

    <html>
    <body>
    @RenderPage("header.cshtml")
    <h1>Hello Web Pages</h1> 
    <p>This is a paragraph</p>
    @RenderPage("footer.cshtml")
    </body>
    </html>

    Layout Page(布局页)

    布局页中使用 @RenderBody() 方法嵌入内容页,除此之外,它与一个正常的网页没有什么差别。

    布局页:

    <html>
    <body>
    <p>This is header text</p>
    @RenderBody()
    <p>&copy; 2012 Runoob. All rights reserved.</p>
    </body>
    </html>

    内容页:

    @{Layout="Layout.cshtml";}
    
    <h1> Welcome to W3Cschool </h1>
    
    <p>Hello!!! </p>

    通过 Content Blocks(内容块)和 Layout Pages(布局页)这两个 ASP.NET 工具,可以让 Web 应用程序显示一致的外观。

    防止文件被浏览

    在 ASP.NET 中,文件的名称以下划线开头,可以防止这些文件在网上被浏览。

    如果不希望内容块或者布局页被用户看到,可以重命名这些文件:

    _header.cshtm

    _footer.cshtml

    _Layout.cshtml

    隐藏敏感信息

    在 ASP.NET 中,隐藏敏感信息(数据库密码、电子邮件密码等等)最通用的方法是将这些信息保存在一个名为"_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";
    }

    6.Web Pages - 文件夹

    逻辑文件夹结构和物理文件夹结构

    虚拟名称和物理名称

    URL 和路径

    ASP.NET 文件夹路径有 3 种工具:~ 运算符、Server.MapPath 方法 和 Href 方法。

      使用 ~ 运算符,在编程代码中规定虚拟路径

        var myStyleSheet = "~/styles/StyleSheet.css";

      Server.MapPath 方法

        Server.MapPath 方法将虚拟路径(/index.html)转换成服务器能理解的物理路径(C:DocumentsMyWebSitesDemodefault.html)

          var pathName = "~/dataFile.txt";
          var fileName = Server.MapPath(pathName);

      Href 方法将代码中的使用的路径转换成浏览器可以理解的路径(浏览器无法理解 ~ 运算符)

        一般会在 HTML 中的 <a>、<img> 和 <link> 元素中使用此方法:

          @{var myStyleSheet = "~/Shared/Site.css";}

          <link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />等价于:

          <link rel="stylesheet" type="text/css" href="/Shared/Site.css" />

          Href 方法是 WebPage 对象的一种方法。

    7.Web Pages - 全局页面

    在 Web 启动之前:_AppStart

    站点根目录下创建一个名为 _AppStart 的页面,这样在站点启动之前可以先启动代码执行。

    _AppStart 的典型用途是启动代码和初始化全局数值(比如计数器和全局名称)。

    注释 1:_AppStart 的文件扩展名与您的网页一致,比如:_AppStart.cshtml。

    注释 2:_AppStart 有下划线前缀。因此,这些文件不可以直接浏览。

    在每一个页面之前:_PageStart

    可以编写在每个文件夹中的任何页面之前运行的代码。

    _PageStart 的典型用途是为一个文件夹中的所有页面设置布局页面,或者在运行某个页面之前检查用户是否已经登录。

    当接收到一个请求时,ASP.NET 会首先检查 _AppStart 是否存在。 如果 _AppStart 存在且这是站点接收到的第一个请求,则运行 _AppStart。

    然后 ASP.NET 检查 _PageStart 是否存在。如果 _PageStart 存在,则在其它被请求的页面运行之前先运行 _PageStart。

    您可以在 _PageStart 中调用 RunPage() 来指定被请求页面的运行位置。否则,默认情况下,被请求页面是在 _PageStart 运行之后才被运行。

    8.Web Pages - HTML 表单

      表单是 HTML 文档中放置输入控件(文本框、复选框、单选按钮、下拉列表)的部分

    <!DOCTYPE html>
    <html> 
    <body> 
    @{
    if (IsPost)
    { 
    string companyname = Request["CompanyName"]; 
    string contactname = Request["ContactName"]; 
    <p>You entered: <br> 
    Company Name: @companyname <br> 
    Contact Name: @contactname </p> 
    }
    else
    {
    <form method="post" action="">
    Company Name:<br> 
    <input type="text" name="CompanyName" value=""><br>
    Contact Name:<br><br>
    <input type="text" name="ContactName" value=""><br><br>
    <input type="submit" value="Submit" class="submit">
    </form> 
    }
    } 
    </body> 
    </html>

    显示图像

    <img src="images/Photo1.jpg" alt="Sample" />

    9.Web Pages - 对象

    Page 对象

    使用的 Page 对象方法:

    @RenderPage("header.cshtml")

    @RenderBody()

    .......

    Page 对象属性(isPost 和 Request)......

    Page 对象的 Page 属性,提供了对页面和布局页之间共享的数据的类似属性访问。

    可以对 Page 属性使用(添加)自己的属性:

    • Page.Title
    • Page.Version
    • Page.anythingyoulike

    页面属性是非常有用的。例如,在内容文件中设置页面标题,并在布局文件中使用:

    内容页:

    @{
    Layout="~/Shared/Layout.cshtml";
    Page.Title="Home Page"
    }
    
    <h1>Welcome to runoob.com</h1> 
    
    <h2>Web Site Main Ingredients</h2>
    
    <p>A Home Page (Default.cshtml)</p>
    <p>A Layout File (Layout.cshtml)</p>
    <p>A Style Sheet (Site.css)</p>

    布局页:

    <!DOCTYPE html>
    <html>
    <head>
    <title>@Page.Title</title>
    </head>
    <body>
    @RenderBody()
    </body>
    </html

    10.Pages - 文件

    如果没有 App_Data 文件夹,请创建一个。在 App_Data 文件夹中,创建一个名为 Persons.txt 的文件。

    文件内容为: 

    George,Lucas
    Steven,Spielberg
    Alfred,Hitchcock

    显示文本文件中的数据

    使用 Server.MapPath 找到确切的文本文件的路径。

    使用 File.ReadAllLines 打开文本文件,并读取文件中的所有行到一个数组中。

    数组中的每个数据行中的数据项的数据被显示。

    @{
    var dataFile = Server.MapPath("~/App_Data/Persons.txt");
    Array userData = File.ReadAllLines(dataFile);
    }
    
    <!DOCTYPE html>
    <html>
    <body>
    
    <h1>Reading Data from a File</h1>
    @foreach (string dataLine in userData) 
    {
    foreach (string dataItem in dataLine.Split(',')) 
    {@dataItem <text>&nbsp;</text>}
    <br />
    }
    </body>
    </html>

    11.Web Pages - 帮助器(Web 帮助器大大简化了 Web 开发和常见的编程任务)

    可以使用存放在 .cshtml 文件中的 Razor 语法构建自己的帮助器,或者使用内建的 ASP.NET 帮助器。

    WebGrid 帮助器

      var grid = new WebGrid(data); 

      @grid.GetHtml();

    Chart 帮助器

      Chart 帮助器显示的数据来源可以是数组、数据库或者文件。

      根据数组数据显示图表:

    @{ 
    var myChart = new Chart( 600, height: 400) 
       .AddTitle("Employees") 
       .AddSeries(chartType: "column",
          xValue: new[] { "Peter", "Andrew", "Julie", "Mary", "Dave" }, 
          yValues: new[] { "2", "6", "4", "5", "3" }) 
       .Write();
    }

      根据数据库创建图表:               略.......

      根据 XML 数据创建图表:         略.......

    WebMail 帮助器

    WebImage 帮助器

    第三方帮助器

    ————安装帮助器

    12.Web Pages - 发布网站

    ............

  • 相关阅读:
    Python内置函数(22)——list
    Git在不同环境换行符设置
    Spring之AOP
    Spring之IOC
    Spring--框架简介
    git-远程协作
    git-SSH连接配置
    git-本地操作
    git简介
    浅谈Sql各种join的用法
  • 原文地址:https://www.cnblogs.com/57rongjielong/p/9175577.html
Copyright © 2020-2023  润新知