ASP.NET Web Pages - WebMail 帮助器
WebMail 帮助器 - 众多有用的 ASP.NET Web 帮助器之一。
WebMail 帮助器WebMail 帮助器让发送邮件变得更简单,它按照 SMTP(Simple Mail Transfer Protocol 简单邮件传输协议)从 Web 应用程序发送邮件。
前提:电子邮件支持
为了演示如何使用电子邮件,我们将创建一个输入页面,让用户提交一个页面到另一个页面,并发送一封关于支持问题的邮件。
第一:编辑您的 AppStart 页面
如果在本教程中您已经创建了 Demo 应用程序,那么您已经有一个名为 _AppStart.cshtml 的页面,内容如下:
_AppStart.cshtml
@{WebSecurity.InitializeDatabaseConnection(“Users”, “UserProfile”, “UserId”,“Email”, true);}
要启动 WebMail 帮助器,向您的 AppStart 页面中增加如下所示的 WebMail 属性:
_AppStart.cshtml
@{We ...
ASP.NET Web Pages - WebMail 对象
通过 WebMail 对象,您可以很容易地从网页上发送电子邮件。
描述WebMail 对象为 ASP.NET Web Pages 提供了使用 SMTP(Simple Mail Transfer Protocol 简单邮件传输协议)发送邮件的功能。
实例请查看 WebPages Email 章节中的实例。
WebMail 对象参考手册 - 属性
属性描述
SmtpServer用于发送电子邮件的 SMTP 服务器的名称。
SmtpPort服务器用来发送 SMTP 电子邮件的端口。
EnableSsl如果服务器使用 SSL(Secure Socket Layer 安全套接层)加密,则值为 true。
UserName用于发送电子邮件的 SMTP 电子邮件账户的名称。
PasswordSMTP 电子邮件账户的密码。
From在发件地址栏显示的电子邮件(通常与 UserName 相同)。
WebMail 对象参考手册 - 方法
方法描述
Send()向 SMTP 服务器发送需要传送的电子邮件信息。
Send() 方法有以下参数:
参数 ...
ASP.NET Web Pages - WebGrid 帮助器
WebGrid - 众多有用的 ASP.NET Web 帮助器之一。
自己写的 HTML在前面的章节中,您使用 Razor 代码显示数据库数据,所有的 HTML 标记都是手写的:
数据库实例
@{var db = Database.Open(“SmallBakery”);var selectQueryString = “SELECT * FROM Product ORDER BY Name”;}
Small Bakery Products
Id
Product
Description
Price
@foreach(var row in db.Query(selectQueryString))
{
@row.Id
@row.Name
@row.Description
@row.Price
}
运行实例 »
使用 WebGrid 帮助器WebGrid 帮助器提供了一种更简单的显示数据的方法。WebGrid 帮助器:
自动创建一个 HTML 表格来显示数据支 ...
ASP.NET Web Pages - HTML 表单
表单是 HTML 文档中放置输入控件(文本框、复选框、单选按钮、下拉列表)的部分。
创建一个 HTML 输入页面
Razor 实例
<html>
@{
if (IsPost) {
string companyname = Request["companyname"];
string contactname = Request["contactname"]; You entered:
Company Name: @companyname
Contact Name: @contactname
}
else
{
Company Name:
Contact Name:
}}
运行实例 »
Razor 实例 - 显示图像假设在您的图像文件夹中有 3 张图像,您想根据用户的选择动态地显示图像。这可以通过一段简单的 Razor 代码来实现。如果在您的网站的图像文件夹中有一个名为 “Photo1.jpg” 的图像,您可以使用 HTML 的 元素来显示图像,如下所示:
下面的 ...
ASP.NET Web Pages - Chart 帮助器
Chart 帮助器 - 众多有用的 ASP.NET Web 帮助器之一。
Chart 帮助器在前面的章节中,您已经学习了如何使用 ASP.NET 的 “帮助器”。前面已经介绍了如何使用 “WebGrid 帮助器” 在网格中显示数据。本章介绍如何使用 “Chart 帮助器” 以图形化的形式显示数据。“Chart 帮助器” 可以创建不同类型的带有多种格式化选项和标签的图表图像。它可以创建面积图、条形图、柱形图、折线图、饼图等标准图表,也可以创建像股票图表这样的更专业的图表。
在图表中显示的数据可以是来自一个数组,一个数据库,或者一个文件中的数据。
根据数组创建图表
下面的实例显示了根据数组数据显示图表所需的代码:
实例
@{var myChart = new Chart(width: 600, height: 400)
.AddTitle(“Employees”)
.AddSeries(chartType: “column”, xValue: new[] { “Peter”, “Andrew”, “Jul ...
ASP.NET Web Forms - 维持 ViewState
通过在您的 Web Form 中维持对象的 ViewState(视图状态),您可以省去大量的编码工作。
维持 ViewState(视图状态)
在经典 ASP 中,当一个表单被提交时,所有的表单值都会被清空。假设您提交了一个带有大量信息的表单,而服务器返回了一个错误。您不得不回到表单改正信息。您点击返回按钮,然后发生了什么……所有表单值都被清空了,您不得不重新开始所有的一切!站点没有维持您的 ViewState。
在 ASP .NET 中,当一个表单被提交时,表单会连同表单值一起出现在浏览器窗口中。如何做到的呢?这是因为 ASP .NET 维持了您的 ViewState。ViewState 会在页面被提交到服务器时表明它的状态。这个状态是通过在带有 控件的每个页面上放置一个隐藏域定义的。源代码如下所示:
.....some code
维持 ViewState 是 ASP.NET Web Forms 的默认设置。如果您想不维持 ViewState,请在 .aspx 页面顶部包含指令 <%@ Page Enab ...
ASP.NET Web Forms - 母版页
母版页为您的网站的其他页面提供模版。
母版页母版页允许您为您的 web 应用程序中的所有页面(或页面组)创建一致的外观和行为。母版页为其他页面提供模版,带有共享的布局和功能。母版页为内容定义了可被内容页覆盖的占位符。输出结果是母版页和内容页的组合。内容页包含您想要显示的内容。当用户请求内容页时,ASP.NET 会对页面进行合并以生成结合了母版页布局和内容页内容的输出。
母版页实例
<%@ Master %>
Standard Header From Masterpage
上面的母版页是一个为其他页面设计的普通 HTML 模版页。
@ Master 指令定义它为一个母版页。
母版页为单独的内容包含占位标签 。
id="CPH1" 属性标识占位符,在相同母版页中允许多个占位符。
这个母版页被保存为 "master1.master"。
注释:母版页也能够包含代码,允许动态的内容。
内容页实例
<%@ Page MasterPageFile=”master1.master” %><asp:Con ...
ASP.NET Web Forms - 服务器控件
服务器控件是服务器可理解的标签。
经典 ASP 的局限性下面列出的代码是从上一章中复制的:
Hello Runoob!
上面的代码反映出经典 ASP 的局限性:代码块必须放置在您想要输出显示的位置。
通过经典 ASP,想要把可执行代码从 HTML 页面中分离出来是不可能的。这让页面变得难以阅读,也难以维护。
ASP.NET - 服务器控件ASP.NET 通过服务器控件,已经解决了上述的”意大利面条式代码”问题。服务器控件是服务器可理解的标签。有三种类型的服务器控件:
HTML 服务器控件 - 创建的 HTML 标签Web 服务器控件 - 新的 ASP.NET 标签Validation 服务器控件 - 用于输入验证
ASP.NET - HTML 服务器控件HTML 服务器控件是服务器可理解的 HTML 标签。ASP.NET 文件中的 HTML 元素,默认是作为文本进行处理的。要想让这些元素可编程,需向 HTML 元素中添加 runat=”server” 属性。这个属性表示,该元素将被作为服务器控件进行处理。同时 ...
ASP.NET Web Forms - 数据库连接
ADO.NET 也是 .NET 框架的组成部分。ADO.NET 用于处理数据访问。通过 ADO.NET,您可以操作数据库。
尝试一下 - 实例
数据库连接 - 绑定到 DataList 控件数据库连接 - 绑定到 Repeater 控件
什么是 ADO.NET?
ADO.NET 是 .NET 框架的组成部分ADO.NET 由一系列用于处理数据访问的类组成ADO.NET 完全基于 XMLADO.NET 没有 Recordset 对象,这一点与 ADO 不同
创建数据库连接在我们的实例中,我们将使用 Northwind 数据库。首先,导入 “System.Data.OleDb” 命名空间。我们需要这个命名空间来操作 Microsoft Access 和其他 OLE DB 数据库提供商。我们将在 Page_Load 子例程中创建这个数据库的连接。我们创建一个 dbconn 变量,并为其赋值一个新的 OleDbConnection 类,这个类带有指示 OLE DB 提供商和数据库位置的连接字符串。然后我们打开数据库连接:
<%@ Im ...
ASP.NET Web Forms - 导航
ASP.NET 带有内建的导航控件。
网站导航维护大型网站的菜单是困难而且费时的。在 ASP.NET 中,菜单可存储在文件中,这样易于维护。文件通常名为 web.sitemap,并且被存放在网站的根目录下。此外,ASP.NET 有三个新的导航控件:
Dynamic menusTreeViewsSite Map Path
Sitemap 文件在本教程中,使用下面的 sitemap 文件:
<siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
<siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
创建 sitemap 文件的规则:
XML 文件必须包含 围绕内容的 标签 标签只能有一个 子节点( “home” ...