我有一个标签控件,我在其中修改文本服务器端,然后再呈现。奇怪的是,当我在访问文本值的行中断时,结果是一个空字符串,但是当控件呈现到页面时,文本内容就在那里。
<asp:Label id="_tealiumScript" Runat="server" EnableViewState="False">
abc
<script language="javascript" type="text/javascript">
var GetServerName = function() {
var servername;
try { servername = "<%=Server.MachineName %>"; } catch (e) { }
return servername;
}
</script>
</asp:Label>
最重要的是,当我取出元素中的内容时,我可以访问文本;我可以看到“abc”以及开始和结束脚本标签。所有这一切,它适用于同一平台的其他控件。
这是我尝试访问名为 TrackingUserControl 的类中的文本的地方(上面代码隐藏中的代码继承自该类):
protected override void OnLoad(EventArgs e)
{
string text = _tealiumScript != null ? _tealiumScript.Text : " not here either";
base.OnLoad(e);
}
编辑:
我试着把不同的部分拿出来,我发现当我有文字的时候
"<%=Server.MachineName %>"
在那里,我无法访问控件的文本属性。如果我把它拿出来,那很好。如果有人能告诉我为什么会发生这种情况,我将不胜感激!