最简单的aspx单页程序代码文件,注意Page声明不能少
作者:admin 时间:2023-4-26 11:37:21 浏览:本文记录我创建最简单的aspx单页程序代码文件时,遇到的一个奇怪的问题,及解决方法。
asp和aspx(C#)的语法混合也可以?
我使用了某些教程里的aspx单页程序代码,如下这样:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>aspx示例</title>
</head>
<body>
<%
response.write (now())
%>
</body>
</html>
很奇怪竟然运行成功了,这简直是asp和aspx(C#)的语法混合体呀。
了解aspx(C#)语法的人都看得出,示例中aspx(C#)的语法是错误的,它没有区分字母大小写,句末也没有分号。正确写法应该是这样:
<%
Response.Write (now());
%>
而这仅仅是语法上的错误,实际上now()
的用法这样写也会报错的,asp语法里这样写没有错,但在aspx(C#)里正确的写法应该是这样:
<%
Response.Write (System.DateTime.Now.ToString());
%>
然而当我把示例代码改成这样时,竟然报错,提示:字符无效。
强行编译器使用asp.net解析代码
我不明白aspx编译器是如何解析上面示例的代码的,为了强行编译器使用asp.net来解析代码,我于是在代码开头加上了这句:
<%@ Page Language="C#" %>
确实有效!加上这句后,aspx(C#)代码终于要严格符合语法了:区分大小写,句末需分号,now()
的写法有误。于是得到了正确的aspx(C#)示例代码:
<%@ Page Language="C#" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>aspx示例</title>
</head>
<body>
<%
Response.Write ("当前时间:" + System.DateTime.Now.ToString());
%>
</body>
</html>
我们可以引用System
命名空间,参考:
于是示例代码可改为:
<%@ Page Language="C#" %>
<%@ Import Namespace="System" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>aspx示例</title>
</head>
<body>
<%
Response.Write ("当前时间:" + DateTime.Now.ToString());
%>
</body>
</html>
总结
本文通过最简单的aspx单页程序文件的示例代码,明白到需在前面加上@Page
声明,否则编译器可能会解析有误。
相关文章
相关文章
x
- 站长推荐