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

时间:2011-05-26 09:54:36

标签: c# javascript asp.net user-controls

我根据两个TextBox整数值编写了一个JavaScript来计算TotalWeight。我将这两个值相乘并显示在第三个使用JavaScript的TextBox中。但问题是,我有一个radiobuttonlist,在其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>

3 个答案:

答案 0 :(得分:0)

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

我认为当事件触发并且页面回发时,第三个文本框将恢复为原始值 - 捕获新值并在事件期间将其写回到框中。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

[intput type =“hidden”id =“someid”&gt;]

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