打开ASPX页面Default.aspx,首先在
<title>使用%HTML中嵌入C#title>
…
<div>
<%
int i;
for (i = 0; i < 10; i++)
{
Response.Write(i.ToString());
Response.Write("在html中嵌入C#代码示例");
Response.Write("
");
}
%>
div>
用户浏览这个页面时,ASP.NET模块将运行其中的<% %>之间的C#代码块,生成HTML。我们可以通过点击IE-〉查看-〉源文件,看到这个页面在客户端的纯HTML代码,而看不到开发者所写的<% %>之间的C#代码。运行结果如下:
二.使用< Script ></ Script >在HTML中嵌入C#代码
首先我们来看一看在HTML页面中嵌入JavaScript脚本程序的格式:
"JavaScript代码内容"
//JavaScript注释内容
为了通知浏览器使用的代码是JavaScript代码,必须在中间的任何内容都被视为脚本语句,会被浏览器解释执行。
我们用记事本编写一个HTML文件JavaScriptEx.html,代码如下:
<HTML>
<HEAD>
<TITLE>响应事件TITLE>
HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
function aler(){
window.alert("这是JavaScript事件响应的例子");
}
SCRIPT>
<INPUT TYPE="BUTTON" VALUE="触发按钮" ONCLICK="aler()">
BODY>
HTML>
保存后直接点击生成的.html文件即可在IE浏览器中运行,单击“触发按钮”后将弹出对话框,结果如下:
而对于同ASP.NET,除了<% %>标记,也可以使用实现一个函数fun1,该函数根据当前星期,返回不同的日程安排。
这是ASP.NET的注释方式
--%>
<script language="C#" runat="server">
String fun1(string day)
{
string plan = "";/*C,C++,C#注释方式*/
switch (day)
{
case "Monday":
plan = "向客户提案!";
break;
case "Thuseday":
plan = "参加霏霏的生日!";
break;
case "Wednesday":
plan = "shopping!";
break;
case "Thursday":
plan = "去健身房!";
break;
case "Friday":
plan = "向老板汇报工作!";
break;
default:
plan = "周末狂欢!";
break;
}
return plan;
}
script>
<%--
<% %>调用函数fun1,根据当前星期,显示日程安排。
--%>
<%
string date = System.DateTime.Today.Date.ToString();
string weekday = System.DateTime.Today.DayOfWeek.ToString();
string output = fun1(weekday);//C,C++,C#注释方式
Response.Write("现在是"+date+","+weekday+",我计划"+output);
%> div>
运行结果如下:
利用以上两种方法可以将C#代码嵌入到HTML中,形成ASPX动态网页文件,但是这样的页面语法混杂,难以管理,针对这个问题,ASP.NET提出了代码分离的思想:即把代码文件(C#代码)和页面显示代码(HTML代码)分离在不同的文档中,各自独立完成Web页面的逻辑功能和显示功能。然后通过<%@ CodeFile=…%>将两者绑定在一起,以达到C#代码嵌入到HTML中的效果。
Default.aspx的第一行解析:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Page …%>用来设置页面属性,各属性意义如下:
CodeFile="Default.aspx.cs"这个属性指定了隐藏在这个页面后面的代码文件,所要实现的功能代码就在Default.aspx.cs文件中。
Language="C#|VB"设置本页所采用的编程语言是C#,默认为C#
AutoEventWireup="true|false"是否使用ASP.NET约定的事件命名规则,为控件事件命名。
Inherits="…"定义公应用程序类继承的代码隐藏类
ResponseEdcodeing="…"设置ASPX编码方式,默认为Unicode。
Trace="true|false"设置是否在程序中显示代码直行的跟踪信息。
TraceMode="SortType"设置跟踪信息的排序方式,默认为根据执行时间顺序排序,“SortByTime”。