ASP.NET:如何在回发后保留使用 javascript 在服务器控件上设置的值

我正在创建一个 ASP.NET 网站,该网站将进行一些计算(如果相关,它会使用一些公式来计算退休计划),第一页有一堆字段和标签,用户将在其中输入数字,然后按键-我有 JavaScript 代码运行计算并用数字更新标签。然后我想将这些值传递到下一页,在那里它们将被解析并放入条形图中进行摘要,但是我不断获取标签的默认值。我知道这与页面的回发有关。


我尝试过使用隐藏字段来存储值,但它们也正在被重置。我见过的很多解决方案与这里的类似,我也尝试过但无济于事。


JavaScript代码如下:


function RATotal() {

    $('#lblRATotal').text("$" + (masterRANQAptERI + masterRAPTQptERI + 

                                 masterRARQAptERI + lumpsum).format());


    masterRATotal = (masterRANQAptERI + masterRAPTQptERI + masterRARQAptERI + lumpsum);


    document.getElementById('<%= hiddenRAtotal.ClientID %>').value = masterRATotal;

    document.getElementById('hideRAtotal').value = masterRATotal;

}

ASP/HTML:


<tr>

  <td>

    <span>Total After-Tax Equivalent Contribution: </span>

    <asp:Label runat="server" ID="lblRAATTotal" Text="$X.XX" Font-Bold="true" />

  </td>

  <td>

    <span>Total Pre-Tax Equivalent Contribution: 

      <asp:Label runat="server" ID="lblRAPTTotal" Text="$X.XX" Font-Bold="true" />

    </span>

  </td>

  <td>

    <span>Total Retirement Retirement Income:</span>

    <br />

    <asp:Label runat="server" ID="lblRATotal" Text="0.00" Font-Bold="true" />

    <asp:HiddenField runat="server" ID="hiddenRAtotal" EnableViewState="True" />

    <input id='hideRAtotal' name='hideRAtotal' type='hidden' />

  </td>

</tr>

C#代码如下


protected void btnSummary_Click(object sender, EventArgs e)

{

    string RAOtotal2 = hiddenRAtotal.Value.ToString();

    Session["RAOtotal"] = RAOtotal2

    Response.Redirect("ChartDataQuery.cshtml");

}

根据我读过的所有内容,这应该可以解决问题......但当我尝试使用它时,实际上我只是得到一个“,”或 null 。我已经推断出“,”不是计算错误,因为当我将值设置为手动定义的字符串时,我也只会得到一个“,”。我仍在学习这些东西,我将不胜感激任何帮助!谢谢!


12345678_0001
浏览 77回答 1
1回答

UYOU

这条线,document.getElementById('<%= hiddenRAtotal.ClientID %>').value = masterRATotal;就是打破这个的原因。我删除了这条线,现在它可以工作了。
打开App,查看更多内容
随时随地看视频慕课网APP