【发布时间】:2015-07-19 23:45:47
【问题描述】:
我有这个 javascript 函数:
<script type="text/javascript">
function DisplayTime() {
var d = new Date();
document.getElementById('<%=Label1.ClientID %>').innerHTML = d.localeFormat("yyyy-mm-dd HH:mm:ss");
}
</script>
我有这个标签:
<asp:Label ID="Label1" runat="server" Text ="labelText" ></asp:Label>
在 CodeBehind 中我这样做:
Page.ClientScript.RegisterStartupScript(GetType(), "DisplayTime", "DisplayTime();", true);
string text = Label1.Text;
DisplayTime() 函数工作正常。
运行时在浏览器中显示的 Label1 文本是: 2015-21-08 17:21:36
但是当我尝试从 CodeBehind 读取 Label1 的文本属性时,我得到了原始文本值: “标签文本”
有人知道为什么吗?
问候 鲁本克
【问题讨论】:
-
asp标签标签使用一个名为Text的属性来构建一个html标签标签的innerHTML。 Javascript 正在设置由 asp 创建的 html 标签元素的 innerHTML,但无法直接访问 asp 对象。您的 CodeBehind 正在从 asp 标签中获取属性 Text。 (服务器端客户端逻辑是分开的)
-
您应该使用隐藏控件而不是标签,这是 user2782001 忘记说的。还有stackoverflow.com/questions/274826/…
-
感谢大家的回复
标签: javascript c#