最近碰到一问题,需要在ASP.Net和JavaScript中传递数据。具体的需求是这样的,页面postback后将会load JS,但是需要记住之前某个状态,这个状态是指JS的状态,也就是说load JS后,还要记住之前的状态,而不是回到默认的状态。
一开始想了很多办法,但都不成功,后来问了问同事,发现可以通过隐藏的表单元素来传递数据,所以特此记录下来。
前台代码:
<input type="hidden" id="currentTabIndex" name="currentTabIndex" runat="server" />
<script type="text/javascript" language="javascript">
document.getElementById("<%=currentTabIndex.ClientID %>").value = idArray[idArray.length-1].replace(/[^0-9]/gi,'');
</script>
后台代码:
Page.ClientScript.RegisterStartupScript(this.GetType(), "InitAndShowTab", "<script>initTabs('" + TabDivID + "',Array(" + TabLabels + "),document.getElementById(/"" + currentTabIndex.ClientID + "/").value," + Width + "," + Height + ");</script>");
虽然比较简单,但有时候一下子就是想不起来的。