我使用<%= %>
语法在JavaScript函数中传递html控件textarea id。我有一个问题,在我运行页面后保存我的aspx页面它运行成功但在一些后它会自动从html代码中消失。
sombody可以解释上面的语法以及为什么它在给定时间后从源代码中消失
这是代码
执行前我写代码并保存。
<textarea id="txtmsgchar"
cols="20"
name="txtmsgchar"
onkeyup="return taCount(this,'<%= lblcharcount.ClientID %>','<%= lbltotalmsg.ClientID %>')"
rows="10"
style="width: 477px; height: 111px">
</textarea>
经过一段时间或下次打开项目后,我找到下面的代码
<textarea id="txtmsgchar"
cols="20"
name="txtmsgchar"
onkeyup="return taCount(this,'','')"
rows="10"
style="width: 477px; height: 111px">
</textarea>
请告诉我为什么给定的输出
答案 0 :(得分:1)
是执行的服务器代码。该表达式由lbltotalmsg.ClientID的值替换。
发送给客户端的结果是这样的:
','some-client-id')" rows="10" style="width: 477px; height: 111px">
答案 1 :(得分:1)
经过一段时间或下次我打开项目后,我发现以下代码
除非您不保存,或者除非您从浏览器查看代码视图(即,在呈现页面之后),否则这似乎是不可能的。另一个想法可能是你在一个连接到自动构建环境的版本控制系统中,如果它们包含编译错误,它可能会回滚你的更改(但我怀疑任何构建环境都会自动执行)。
无论如何,您的问题与<%= >
本身无关,它只是解释服务器端的表达式并输出其值。
更新:也许您的问题如下:如果控件lbltotalmsg
或lblcharcount
不可见(服务器端Visible="False"
),则它们不会呈现给客户端,因此会有空ClientId
。
答案 2 :(得分:0)
它运行C#或VB.NET表达式。与DateTime.Now