如何在ASP.Net中的PostBack期间维护JavaScript值

本文关键字:维护 JavaScript PostBack 中的 ASP Net | 更新日期: 2023-09-27 17:57:39

我已经编写了一个JavaScript来基于两个TextBox整数值计算TotalWeight。我将这两个值相乘,并使用JavaScript显示在第三个TextBox中。但问题是,我有一个单选按钮列表,在它的selectedindexchanged事件中,我在第三个TextBox中得到的值消失了。如何解决这个问题?

我的JavaScript是

  <script type="text/javascript">
   function TotalWeight()
        {
            var D1 = document.getElementById('<%=txtD1.ClientID%>');
            var SectionWgt = document.getElementById('<%=txtSectionWeight.ClientID%>');
            var TotalWgt = 0*1;
            TotalWgt = parseFloat(D1.value) * parseFloat(SectionWgt.value);
            if(isNaN(TotalWgt))
                document.getElementById('<%=txtTotalWgt.ClientID%>').innerText = "0.000";
            else
                document.getElementById('<%=txtTotalWgt.ClientID%>').innerText = TotalWgt.toFixed(3);
       }
  </script>
  <asp:TextBox ID="txtD1" runat="server" Width="136px" onkeyup="return TotalWeight();"></asp:TextBox>

如何在ASP.Net中的PostBack期间维护JavaScript值

计算并将值分配给Total Textbox后,将该值也放入hidden field中,然后在回发时将该值从hidden Field重新分配给文本框。

当单选按钮事件触发并返回时,读取文本框的值,然后将其写回文本框。

我可以想象,当事件触发并且页面返回时,第三个文本框会恢复到其原始值——在事件期间捕获新值并将其写回框中。

使用隐藏字段来存储值。只需使用

[input type="hidden"id="someid">]

之后,您可以使用$("#someid").val()来使用该值试试看,这对我有帮助。