我在html页面上放了以下代码。
<td bgcolor="<%=TableHeaderColor%>"> </td>
然而,似乎 html 理解上面的代码并呈现颜色。当我在两者之间更改字母时
<%= %>
,我会得到不同的颜色。
有人可以帮助我理解这一点吗?
Html 什么都不懂,webserver 可以。在页面被发送到客户端之前,它每次都被翻译并且客户端(网络浏览器)只看到生成的 html 结果。
尝试这个 :
<td style="background:<%=TableHeaderColor%>"> </td>
您编写的所有 asp.net 标记将在通过服务器后进行翻译。例如:当你使用标签时<asp:hyperlink>
,它会被翻译来<a href="">
尝试打开一个用asp编写的网站的源代码,你不会看到asp标签,而只会看到html
不是由 HTML 解释的,而是由服务器端页面处理解释的。
参考:
在 ASP 中,代码包含在 <%... %> 标记中,页面处理从第一个 <%> 标记之后的第一条语句开始。对于 ASP.NET,任何要在页面加载后立即处理的代码都必须包含在 Page_Load 内部事件中。您仍然可以在 <%... %> 块中编写代码,但它将在页面加载后在渲染时执行(以自上而下的方式,如在 ASP 中)。如果需要执行初始化代码,它应该出现在 Page_Load 事件中,该事件在 ASP.NET 引擎加载页面后立即引发
链接: http: //msdn.microsoft.com/it-it/library/f0111sbh (v=vs.100).aspx
在页面加载中:(服务器端)
page-load ()
{
if(any condition )
{
TableHeaderColor="Red";
}
else if(any condition )
{
TableHeaderColor="Yellow";
}
else if(any condition )
{
TableHeaderColor="Green";
}
}
现在,如果您在客户端调用此TableHeaderColor作为您的方式,它会根据您的条件而改变,
这只是一把钥匙而已