技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

最簡單的aspx單頁程序代碼文件,注意Page聲明不能少

作者:admin    時(shí)間:2023-4-26 11:37:21    瀏覽:

本文記錄我創(chuàng)建最簡單的aspx單頁程序代碼文件時(shí),遇到的一個(gè)奇怪的問題,及解決方法。

asp和aspx(C#)的語法混合也可以?

我使用了某些教程里的aspx單頁程序代碼,如下這樣:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>aspx示例</title>
</head>
<body>
<%
response.write (now())
%>
</body>
</html>

很奇怪竟然運(yùn)行成功了,這簡直是asp和aspx(C#)的語法混合體呀。

了解aspx(C#)語法的人都看得出,示例中aspx(C#)的語法是錯(cuò)誤的,它沒有區(qū)分字母大小寫,句末也沒有分號(hào)。正確寫法應(yīng)該是這樣:

<%
Response.Write (now());
%>

而這僅僅是語法上的錯(cuò)誤,實(shí)際上now()的用法這樣寫也會(huì)報(bào)錯(cuò)的,asp語法里這樣寫沒有錯(cuò),但在aspx(C#)里正確的寫法應(yīng)該是這樣:

<%
Response.Write (System.DateTime.Now.ToString());
%>

然而當(dāng)我把示例代碼改成這樣時(shí),竟然報(bào)錯(cuò),提示:字符無效。

強(qiáng)行編譯器使用asp.net解析代碼

我不明白aspx編譯器是如何解析上面示例的代碼的,為了強(qiáng)行編譯器使用asp.net來解析代碼,我于是在代碼開頭加上了這句:

<%@ Page Language="C#" %>

確實(shí)有效!加上這句后,aspx(C#)代碼終于要嚴(yán)格符合語法了:區(qū)分大小寫,句末需分號(hào),now()的寫法有誤。于是得到了正確的aspx(C#)示例代碼:

<%@ Page Language="C#" %>
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>aspx示例</title>
</head>
<body>
<%
Response.Write ("當(dāng)前時(shí)間:" + 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 ("當(dāng)前時(shí)間:" + DateTime.Now.ToString());
%>
</body>
</html>

總結(jié)

本文通過最簡單的aspx單頁程序文件的示例代碼,明白到需在前面加上@Page聲明,否則編譯器可能會(huì)解析有誤。

相關(guān)文章

標(biāo)簽: aspx  asp.net  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */