asp.net WebPages 速记2

本文参考 菜鸟教程 http://www.runoob.com/aspnet/  整理

ASP.NET Web Pages - 文件夹



"Account" 文件夹包含登录和安全文件
"App_Data" 文件夹包含数据库和数据文件
"Images" 文件夹包含图片
"Scripts" 文件夹包含浏览器脚本
"Shared" 文件夹包含公共的文件(比如布局和样式文件)


物理文件夹结构
在上述网站中的"Images"文件夹在计算机上的物理文件夹结构可能如下:
C:\Documents\MyWebSites\Demo\Images 


虚拟名称和物理名称(相对路径和绝对路径)
以上面的例子为例:
网站图片的虚拟名称可能是"Images/pic31.jpg"。

对应的物理名称是"C:\Documents\MyWebSites\Demo\Images\pic31.jpg"。

~ 运算符
var myImagesFolder = "~/images";


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


Href 方法
@{var myStyleSheet = "~/Shared/Site.css";}
<!-- This creates a link to the CSS file. -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />
<!-- Same as : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />


ASP.NET Web Pages - 全局页面

在 Web 启动之前:_AppStart
大多数的服务器端代码是写在个人网页里边。例如,如果网页中包含输入表单,那么这个网页通常包含用来读取表单数据的服务器端代码。
然而,您可以通过在您的站点根目录下创建一个名为 _AppStart 的页面,这样在站点启动之前可以先启动代码执行。如果存在此页面,
ASP.NET 会在站点中其它页面被请求时,优先运行这个页面。
_AppStart 的典型用途是启动代码和初始化全局数值(比如计数器和全局名称)。
注释 1:_AppStart 的文件扩展名与您的网页一致,比如:_AppStart.cshtml。
注释 2:_AppStart 有下划线前缀。因此,这些文件不可以直接浏览。

在每一个页面之前:_PageStart
就像 _AppStart 在您的站点启动之前就运行一样,您可以编写在每个文件夹中的任何页面之前运行的代码。
对于您网站中的每个文件夹,您可以添加一个名为 _PageStart 的文件。
_PageStart 的典型用途是为一个文件夹中的所有页面设置布局页面,或者在运行某个页面之前检查用户是否已经登录。

当接收到一个请求时,ASP.NET 会首先检查 _AppStart 是否存在。 如果 _AppStart 存在且这是站点接收到的第一个请求,则运行 _AppStart。
然后 ASP.NET 检查 _PageStart 是否存在。如果 _PageStart 存在,则在其它被请求的页面运行之前先运行 _PageStart。
您可以在 _PageStart 中调用 RunPage() 来指定被请求页面的运行位置。否则,默认情况下,被请求页面是在 _PageStart 运行之后才被运行。


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


创建一个 HTML 输入页面
Razor 实例

<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 />
<input type="text" name="ContactName" value="" /><br /><br />
<input type="submit" value="Submit" class="submit" />
</form>
}
} 
</body> 
</html>
Razor 实例 - 显示图像
假设在您的图像文件夹中有 3 张图像,您想根据用户的选择动态地显示图像。
这可以通过一段简单的 Razor 代码来实现。
如果在您的网站的图像文件夹中有一个名为 "Photo1.jpg" 的图像,您可以使用 HTML 的 <img> 元素来显示图像,如下所示:
<img src="images/Photo1.jpg" alt="Sample" />
下面的例子演示了如何显示用户从下列列表中选择的图像:


Razor 实例
@{
var imagePath=""; 
if (Request["Choice"] != null)
{imagePath="images/" + Request["Choice"];} 
} 
<!DOCTYPE html> 
<html> 
<body> 
<h1>Display Images</h1> 
<form method="post" action=""> 
I want to see: 
<select name="Choice"> 
<option value="Photo1.jpg">Photo 1</option> 
<option value="Photo2.jpg">Photo 2</option> 
<option value="Photo3.jpg">Photo 3</option> 
</select> 
<input type="submit" value="Submit" /> 
@if (imagePath != "")
{
<p>
<img src="@imagePath" alt="Sample" />
</p>
} 
</form> 
</body> 
</html>
实例解释
服务器创建了一个叫 imagePath 的变量。
HTML 页面有一个名为 Choice 的下拉列表(<select> 元素)。它允许用户根据自己的意愿选择一个
名称(如 Photo 1),当页面被提交到 Web 服务器时,则传递了一个文件名(如 Photo1.jpg)。
Razor 代码通过 Request["Choice"] 读取 Choice 的值。如果通过代码构建的图像路径(images/Photo1.jpg)有
效,就把图像路径赋值给变量 imagePath。
在 HTML 页面中,<img> 元素用来显示图像。当页面显示时,src 属性用来设置 imagePath 变量的值。
<img> 元素是在一个 if 块中,这是为了防止显示没有名称的图像,比如页面第一次被加载显示的时候。

你可能感兴趣的:(asp.net,Razor,WebPages)