一个新手问题

zerodegrees 2013-06-07 08:47:29
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="aspNetTest._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load()
{
lbl.Text = "修改后。";
}
</script>
<html>
<head><title>asp.net</title></head>
<body>
<form runat="server">
<asp:Label ID="lbl" runat="server" Text="修改前。"/>
</form>
</body>
</html>

请帮忙看看,为什么运行的结果始终是“修改前”,而不是“修改后”呢。好像是Page_Load压根没执行吧,该怎么弄?
...全文
85 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
饕餮123 2013-06-07
  • 打赏
  • 举报
回复
引用 9 楼 zerodegrees 的回复:
[quote=引用 8 楼 a407121393 的回复:]
 CodeBehind="Default.aspx.cs" Inherits="aspNetTest._Default" 
这个去了就好
谢谢,确实是这个问题。。。不过提前结贴了。[/quote] 你太坑爹了
快乐的小二兔 2013-06-07
  • 打赏
  • 举报
回复
asp.net先执行load事件在执行 html事件,lbl在编译的时候就已经实例了
zerodegrees 2013-06-07
  • 打赏
  • 举报
回复
引用 8 楼 a407121393 的回复:
 CodeBehind="Default.aspx.cs" Inherits="aspNetTest._Default" 
这个去了就好
谢谢,确实是这个问题。。。不过提前结贴了。
饕餮123 2013-06-07
  • 打赏
  • 举报
回复
 CodeBehind="Default.aspx.cs" Inherits="aspNetTest._Default" 
这个去了就好
zerodegrees 2013-06-07
  • 打赏
  • 举报
回复
引用 6 楼 ly12530 的回复:
建议还是写在cs文件中吧!清晰明了!
嗯,放在cs里确实直接就行了。。。谢谢。
Null_Reference 2013-06-07
  • 打赏
  • 举报
回复
建议还是写在cs文件中吧!清晰明了!
zerodegrees 2013-06-07
  • 打赏
  • 举报
回复
引用 3 楼 cnceohjm 的回复:
先执行: lbl.Text = "修改后。"; 再往下执行 lbl.Text 被赋值为:“修改前”!所以一直是“修改前"!
你好,关于text的说法可能是那样的。但lbl.ForeColor = System.Drawing.Color.LightBlue;这个语句应该是没有被覆盖的,所以感觉lbl的字体颜色应该是浅蓝的吧,不知道为什么还是黑色的。。。 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="aspNetTest._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head><title>asp.net</title></head> <body> <form runat="server"> <asp:Label ID="lbl" runat="server" Text="修改前。"/> </form> </body> </html> <script runat="server"> void Page_Load() { lbl.ForeColor = System.Drawing.Color.LightBlue; lbl.Text = "修改后。"; } </script>
zerodegrees 2013-06-07
  • 打赏
  • 举报
回复
引用 3 楼 cnceohjm 的回复:
先执行: lbl.Text = "修改后。"; 再往下执行 lbl.Text 被赋值为:“修改前”!所以一直是“修改前"!
哦,就是说Page_Load是上来就执行,然后再执行其他代码吧?可是如果那样的话,lbl还没定义啊。。。有点迷糊了。
H_Gragon 2013-06-07
  • 打赏
  • 举报
回复
先执行: lbl.Text = "修改后。"; 再往下执行 lbl.Text 被赋值为:“修改前”!所以一直是“修改前"!
zerodegrees 2013-06-07
  • 打赏
  • 举报
回复
引用 1 楼 id270 的回复:
这是传闻中不带CS的ASPX的写法。 代码从上往下执行。亲懂了没?
谢谢答复,但我换了个位置,还是一样哦。怎么办呢 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="aspNetTest._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head><title>asp.net</title></head> <body> <form runat="server"> <asp:Label ID="lbl" runat="server" Text="修改前。"/> </form> </body> </html> <script runat="server"> void Page_Load() { lbl.BackColor = System.Drawing.Color.LightBlue; lbl.Text = "修改后。"; } </script>
快乐的小二兔 2013-06-07
  • 打赏
  • 举报
回复
这是传闻中不带CS的ASPX的写法。 代码从上往下执行。亲懂了没?

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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