2014-10-29 27 views
0

我是新来的,学习asp.net和javascript。javascript to asp.net ClientIDMode

这可能是一个愚蠢的问题,因为我想检查如何使用javascript在asp.net上工作。

该按钮仅为客户端调用OnClientClick,我希望javascipt更改asp.net上的标签。 当它按下按钮时,它似乎会改变,但它会回到原来的标签。

有没有办法让JavaScript的静态标签值?

在此先感谢。

<script type="text/javascript"> 
 
function calledFn() 
 
{ 
 
document.getElementById('<%=Label1.ClientID%>').innerHTML = document.getElementById('<%=TextBox1.ClientID%>').value; 
 
document.getElementById('<%=Label2.ClientID%>').innerHTML = document.getElementById('<%=TextBox2.ClientID%>').value; 
 
document.getElementById('<%=Label3.ClientID%>').innerHTML = document.getElementById('<%=TextBox3.ClientID%>').value; 
 
document.getElementById('<%=Label4.ClientID%>').innerHTML = document.getElementById('<%=TextBox4.ClientID%>').value; 
 
} 
 
</script>

<body> 
 
<form id="form1" runat="server"> 
 

 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
 
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
 
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
 
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox> 
 
<br /><br /> 
 
<asp:Button ID="Button1" runat="server" Text="Run JavaScript Code" OnClientClick="calledFn()"/> 
 
<br /><br /> 
 

 
<asp:Label ClientIDMode="Static" ID="Label1" runat="server">t111</asp:Label> 
 
<asp:Label ClientIDMode="Static" ID="Label2" runat="server">t222</asp:Label> 
 
<asp:Label ClientIDMode="Static" ID="Label3" runat="server">t333</asp:Label> 
 
<asp:Label ClientIDMode="Static" ID="Label4" runat="server">t444</asp:Label> 
 

 
</form> 
 
</body>

+0

汤姆'你看这个网站[MSDN Control.ClientIdMode属性] tom'(HTTP:// msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode(v=vs.110).aspx) – MethodMan 2014-10-29 22:39:56

+0

@DJKRAZE - 我敢打赌,他希望客户端标签文本chamge通过回传。 – Igor 2014-10-29 22:58:25

+0

感谢您的回复,但我不是很好的asp.net和javascipt。但如果我想这样,是否有另一种方法从JavaScript传递到asp.net? – 2014-10-30 00:31:24

回答

1

您的JavaScript更改将不会被保存。

你必须使用会话视图状态,或隐藏字段,用于临时存储的变化,然后重新绑定他们的页面加载