请问C#是不是脚本语言?

leetow2003 2008-12-03 07:50:26
我的机器上装了 IIS和Net Framework,请看我
的一段小程序,是用记事本写的:
<html>
<body>
<script language="C#" runat="server">
void Page_Load(object sender,EventArgs e)
{
if (DateTime.Now.Hour<12) Label1.Text="现在是上午";
else Label1.Text="现在是下午";
}
</script>

<form runat="server">
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
这个程序可以运行的,我想问:C#不需要编译吗?难道它是脚本语言吗?
可是为什么有的说C#要编译呢?
...全文
1649 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
ipisty 2008-12-03
  • 打赏
  • 举报
回复
C#肯定不是脚本语言的?肯定需要.NET Framework的支持的。
不过LZ的代码写法在ASP+中出现过,那个时候ASP.NET还没有实现Code Behind。
自从Code Behind诞生以后,好久都没有见过这种嵌入式脚本了。
liningln0 2008-12-03
  • 打赏
  • 举报
回复
不是..
一品梅 2008-12-03
  • 打赏
  • 举报
回复
不是,是解释型语言.
leetow2003 2008-12-03
  • 打赏
  • 举报
回复
如果说有编译,怎么没有看到编译后的文件呢?文件在哪?
sartrecn 2008-12-03
  • 打赏
  • 举报
回复
形式和asp脚本差不多,但实际上是编译后再执行的,因此不算脚本语言。
niitnanfeng 2008-12-03
  • 打赏
  • 举报
回复
服务器端的脚本语言。
wuhz520 2008-12-03
  • 打赏
  • 举报
回复
C#应该不算是脚本语言吧!!!在VS这一体系结构中,ASP.NET算是一脚本,但C#应该不是.它可以针对WEB,控制台,WINform都可以.
leetow2003 2008-12-03
  • 打赏
  • 举报
回复
那在网页里C#有经过编译吗?
wuyq11 2008-12-03
  • 打赏
  • 举报
回复
C#算服务器脚本语言的一种。
C#在页面文件写无需编译,单独写是需编译。
indefectible 2008-12-03
  • 打赏
  • 举报
回复
绝对不是
  • 打赏
  • 举报
回复
[Quote=引用楼主 leetow2003 的帖子:]
这个程序可以运行的,我想问:C#不需要编译吗?难道它是脚本语言吗? [/Quote]

是编译的。参考:http://www.cnblogs.com/gjcn/archive/2008/12/01/1341431.html
apollolb2005 2008-12-03
  • 打赏
  • 举报
回复
不是。

这种写法是ASP.NET 网页中支持嵌入式代码块,主要用于保留与旧的 ASP 技术的向后兼容性。一般情况下,将嵌入式代码块用于复杂的编程逻辑并不是最佳做法,因为当页中的代码与标记混合时,很难进行调试和维护。此外,由于代码仅在呈现页的过程中执行,因此与将代码置于适当的页处理阶段以执行后台代码或脚本块代码相比,其灵活性大大降低。

嵌入式代码块的部分用途包括:

将控件元素或标记元素的值设置为函数返回的值,如前面的示例所示。

将计算直接嵌入到标记或控件属性中。
qinhl99 2008-12-03
  • 打赏
  • 举报
回复
不是!
lc7cl 2008-12-03
  • 打赏
  • 举报
回复
不是。道理维生素已经说了,呵呵!!
blueterry 2008-12-03
  • 打赏
  • 举报
回复
脚本语言指的是像javascript这样不需要编译即可运行的轻量级语言说白了是语言不够完整,只能在网页里头打转

而C#是现代语言面向对象的编程语言,出了用语网页之外,还可以生成win32程序,.net程序运行,这些都是脚本语言所不能做到的

你的那个能运行是因为“runat=server" ,iis会自动将这些代码调用asp。net编译成为HTML输出

运行原理跟脚本语言完全不一样滴。
dahai99007 2008-12-03
  • 打赏
  • 举报
回复
...
lijunfeng 2008-12-03
  • 打赏
  • 举报
回复
没想到只打两个字还是没抢到沙发,虽然你是写在html里,但是runat="server"告诉服务器它是在服务器上编译后在服务器上执行的。
morganadapter 2008-12-03
  • 打赏
  • 举报
回复
佩服,c#屈尊去实现脚本语言的功能,却被产生了是不是本身就是脚本语言的误解啊,你这哪里来的代码,
怎么没有code behind啊?
加载更多回复(2)

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧