使用 C# 和 JS 在 ASP.NET 标签中显示当前日期
我正在尝试使用 JavaScript 和 C# 在 ASP.NET 标签中显示当前日期。这是我所拥有的:
C#:
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(Type.GetType("System.String"), "addScript", "GetDate()", true);
}
JS:
<script type="text/javascript">
function GetDate()
{
var dt = new Date();
var element = document.getElementById("MainContent_FormView1_Label1");
element.text = dt.toDateString();
}
</script>
ASP.NET:
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Date", "{0:d}") %>'></asp:Label>
谁能看到我哪里出错了?另外,如果不使用C# Page_Load方法,JS可以在页面加载时运行吗?我拿起了 RegisterStartupScript 其他地方< /a> 但我不太明白。
谢谢, 利亚姆
I'm trying to display the current date in an ASP.NET label using JavaScript and C#. Here's what I have:
C#:
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(Type.GetType("System.String"), "addScript", "GetDate()", true);
}
JS:
<script type="text/javascript">
function GetDate()
{
var dt = new Date();
var element = document.getElementById("MainContent_FormView1_Label1");
element.text = dt.toDateString();
}
</script>
ASP.NET:
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Date", "{0:d}") %>'></asp:Label>
Can anyone see where I'm going wrong? Also, can the JS be run when the page loads without using the C# Page_Load method? I picked up the RegisterStartupScript elsewhere but I don't really understand it.
Thanks,
Liam
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
尝试使用
element.innerText = dt.toDateString();
代替。另外,您不需要使用
RegisterStartupScript
。您只需在onLoad
事件中调用getDate()
函数即可。但是,您可能需要阅读 此 SO 线程,了解使用 < code>window.onload,或者考虑使用诸如 jQuery 及其
document.ready
Try using
element.innerText = dt.toDateString();
instead.Also, you don't need to use
RegisterStartupScript
. You can just call thegetDate()
function in theonLoad
event.However, you might want to read this SO thread for best practice in using
window.onload
, or consider using a framework such as jQuery and itsdocument.ready
试试这个:
Try this:
您可以将
PageLoad
更改为OnPreInit
,也可以将 JS 更改为You can change Your
PageLoad
toOnPreInit
and also you can change your JS to您可以简单地设置为
编辑
如果您不想在服务器端设置日期时间, 。您可以使用以下代码,无需任何
onload
或RegisterStartupScript
方法You can simply set as
EDIT
If you don't want to set the DateTime in serverside. You can use the below code without any
onload
orRegisterStartupScript
methods您可以使用 pagemethods ,以便您可以最终显示时间
C#
You can use pagemethods , so that you can Display Time Eventually
C#