2013-02-21 63 views
1

在Javscript函数中,我正在为Label分配一个值。值已分配,但标签属性正在更改为默认值。分配给Javascript函数的返回值标签Label的属性正在改变

document.getElementById("Label1").innerText = dispTime; 

dispTime在javascript函数一定的价值。

<asp:Label ID="Label1" runat="server" ToolTip="Current Time" ForeColor="BlueViolet" BorderStyle="Ridge" BackColor="ButtonHighlight"></asp:Label> 

这是我标签如何定义,但页面后,装载标签属性改变为默认值

我的Page_Load

ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:InIt();", true); 

我的JavaScript部分

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="head1" runat="server"> 
<title>Time</title> 
<script type="text/javascript"> 
function InIt() { 
    var dateTime = new Date(); 
    var hours = dateTime.getHours(); 
    var minutes = dateTime.getMinutes(); 
    var seconds = dateTime.getSeconds(); 
    var day; 
    if (hours < 11) { 
     day = "AM"; 
    } 
    else { 
     day = "PM"; 
    } 
    if (minutes < 10) { 
     minutes = "0" + minutes; 
    } 
    if (seconds < 10) { 
     seconds = "0" + seconds; 
    } 
    var dispTime = document.getElementById("time").innerHTML = hours + ":" + minutes + ":" + seconds + " " + day; 
    setTimeout("InIt()", 1000); 
    var updatetime = document.getElementById("Label1"); 
    updatetime.innerText = dispTime; 
} 
InIt(); 
</script> 

<form id="form1" runat="server"> 
<div id="time" runat="server"> 
<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 
    <asp:Label ID="Label1" runat="server" ToolTip="Current Time" style="background-color:ButtonHighlight; border-style:ridge;"></asp:Label> 
</div> 
</form> 

回答

0

分配上的jQuery的document.ready值。

如果您将值设置为java-script,那么如果您在.cs页面的页面加载中写入了某些内容,则该值将再次更改。

+0

我试过,但没有用**的document.ready(” Label1“)= dispTime; ** – Jagadesh 2013-02-21 09:36:11

+0

@Jagadesh你可以w在你的问题上,你的'java-script'函数和'page_load'函数成为问题。 – 2013-02-21 09:39:21

+0

请看看我更新的问题 – Jagadesh 2013-02-21 10:39:19

0
上,你可以使用此代码来调用JavaScript函数AssignvaluetoLabel的页面加载事件

(),然后用在你的页面添加jQuery的文件引用添加脚本函数内部

protected void Page_Load(object sender, EventArgs e) 
{ 
    ScriptManager.RegisterStartupScript(Page, this.GetType(), "Assign", "AssignvaluetoLabel();", true); 
} 


<html> 
<head runat="server"> 
<title>Untitled Page</title> 
<script > 
function AssignvaluetoLabel() 
{ 
var dispTime="some value"; 
document.getElementById("Label1").innerText = dispTime; 

} 
</script> 
</head> 

<body> 
<form id="form1" runat="server"> 
<div> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
</div> 
</form> 
</body> 
</html> 
+0

使用scriptmanager内部的窗体也设置RegisterStartupScript属性也 – 2013-02-21 09:40:04

+0

仍然不工作请参阅我的** page_load()**事件 – Jagadesh 2013-02-21 10:37:02

+0

你得到的解决方案? – 2013-02-21 11:43:16

0

试试下面的代码。

<asp:Label ID="Label1" runat="server" ToolTip="Current Time" ForeColor="BlueViolet" BorderStyle="Ridge" BackColor="ButtonHighlight"></asp:Label> 
    <script language="javascript" type="text/javascript"> 
     $(document).ready(function() { 
      TestFunction("testvalue"); 
     }); 

     function TestFunction(dispTime) { 
      $("#<%= Label1.ClientID %>").text(dispTime); 
     } 
    </script> 
0

这是你更新的代码...

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="head1" runat="server" > 
<title>Time</title> 
<script type="text/javascript"> 

function AssignvaluetoLabel() { 
    var dateTime = new Date(); 
    var hours = dateTime.getHours(); 
    var minutes = dateTime.getMinutes(); 
    var seconds = dateTime.getSeconds(); 
    var day; 
    if (hours < 11) { 
     day = "AM"; 
    } 
    else { 
     day = "PM"; 
    } 
    if (minutes < 10) { 
     minutes = "0" + minutes; 
    } 
    if (seconds < 10) { 
     seconds = "0" + seconds; 
    } 



    document.getElementById("Label1").innerText = hours + ":" + minutes + ":" + seconds + " " + day; 

} 

</script> 
</head> 
<body> 

    <form id="form1" runat="server"> 
<div id="time" runat="server"> 
    <asp:ScriptManager runat="server"> 
    </asp:ScriptManager> 
    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 
    <asp:Label ID="Label1" runat="server" ToolTip="Current Time" style="background-color:ButtonHighlight; border-style:ridge;"></asp:Label> 
</div> 
</form> 
</body> 

`

protected void Page_Load(object sender, EventArgs e) 
{ 
    ScriptManager.RegisterStartupScript(Page, this.GetType(), "Assign", "AssignvaluetoLabel();", true); 
} 
相关问题