技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

最简单的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声明,否则编译器可能会解析有误。

相关文章

标签: aspx  asp.net  
x
  • 站长推荐
/* 左侧显示文章内容目录 */