书中的这句代码对吗?

kaiqiao521 2004-10-07 02:41:39
在《亲密接触ASP。NET》书的P85页
有这样的一段话:

在<body>标签中加入id与runat="server"属性:
<body id="Body1" runat="server">
此时,<body>的性质已经发生了变化,它已经成为了一个货真价实的Html控件,服务器上的程序代码就可以直接操作它。
Body1.Attributes["bycolor"]="Blue";
这段代码将回让整个页面的背景为兰色。


我按上面说的,在VS。NET中,把<body>标签中加入id与runat="server"属性
在Page_Load中加入以下代码: Body1.Attributes["bycolor"]="Blue";
结果不好使啊,在Page_Load根本看不到Body1属性啊
提示:
找不到类型或命名空间名称“Body1”(是否缺少 using 指令或程序集引用?)




请问书中说的,对吗,如果对,应当如何来正确做这个例子啊?



...全文
73 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cancersyf 2004-10-07
  • 打赏
  • 举报
回复
书上说的没错,只是没有描述的很详细,基本上所有的html标记在.net中都有相应的类:
--------------------------------------------------------------
类 Html标签
--------------------------------------------------------------
HtmlAnchor <a href="…" runat="server">
--------------------------------------------------------------
HtmlButton <button runat="server">
--------------------------------------------------------------
HtmlForm <form runat="server">
--------------------------------------------------------------
HtmlImage <img runat="server">
--------------------------------------------------------------
HtmlInputButton <input type="submit" runat="server">
<input type="reset" runat="server">
<input type="button" runat="server">
--------------------------------------------------------------
HtmlInputCheckBox <input type="checkbox" runat="server">
--------------------------------------------------------------
HtmlInputFile <input type="file" runat="server">
--------------------------------------------------------------
HtmlInputHidden <input type="hidden" runat="server">
--------------------------------------------------------------
HtmlInputImage <input type="image" runat="server">
--------------------------------------------------------------
HtmlInputRadioButton <input type="radio" runat="server">
--------------------------------------------------------------
HtmlInputText <input type="text" runat="server">
--------------------------------------------------------------
HtmlSelect <select runat="server">
--------------------------------------------------------------
HtmlTable <table runat="server">
--------------------------------------------------------------
HtmlTableRow <tr runat="server">
--------------------------------------------------------------
HtmlTableCell <td runat="server">
<th runat="server">
--------------------------------------------------------------
HtmlTextArea <textarea runat="server">
--------------------------------------------------------------
HtmlGenericControl All other HTML tags, including
<span runat="server">
<div runat="server">
<body runat="server">
<font runat="server">
--------------------------------------------------------------

所以,你可以在.aspx中这样申明:<body runat="server" id="myBody">
在.aspx.cs中必须加上这句:protected HtmlGenericControl myBody;
然后你在Page_Load中就可以这样使用了:
myBody.Attributes["bgcolor"] = "blue";
kaiqiao521 2004-10-07
  • 打赏
  • 举报
回复
bycolor是我自己打错的,书中为bgcolor
cyy1981 2004-10-07
  • 打赏
  • 举报
回复
Body1.Attributes["bycolor"]="Blue";
是不是写错了啊
bgcolor
DeltaCat 2004-10-07
  • 打赏
  • 举报
回复
body 肯定不可以
Reeezak 2004-10-07
  • 打赏
  • 举报
回复
另外,这个定义应该是自动的,而不是手工加入的
你在页面的html视图于设计视图之间切换一下,就可以自动加入声名XX控件的语句了
如果不能自动声名,则说明是错的

不过,我看,多半是错的

你这个情况多半是一个usercontrol
wenww 2004-10-07
  • 打赏
  • 举报
回复
这样肯定不行
body哪有这样用的
Reeezak 2004-10-07
  • 打赏
  • 举报
回复
你看看页面类的上面有没有定义这个东西先
有才能找到啊
没有怎么找啊?
Overriding 2004-10-07
  • 打赏
  • 举报
回复
body不等同于其他得html标记,html标记加上id和runat=server可以做服务器端得控件用,body不行吧!
书是国人写得吧!

62,074

社区成员

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

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

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

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