2013-02-21 35 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); 
} 
相關問題