【发布时间】:2019-12-28 04:28:13
【问题描述】:
我正在创建一个 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。我已经扣除了“,”不是计算错误,因为当我将值设置为手动定义的字符串时,我也会得到一个“,”。我仍在学习这些东西,我将不胜感激!谢谢!
【问题讨论】:
-
您是否尝试为 HiddenField 添加
EnableViewState="True"? -
@JohnPete22 不,我没有,我只是尝试过,我得到的值为“”或 null。 :\
-
只是为了澄清您提供的 ASP/HTML 代码,您的 .aspx 页面实际上是这样吗?换句话说,您是同时放入 asp:HiddenField 和输入隐藏字段,还是在此示例中您只是显示您正在放入 asp:HiddenField 并且当页面加载时它被替换通过输入隐藏字段?
-
您是否尝试过在 RATotal 函数中执行 console.log(masterRATotal) 以确保它发送到隐藏字段的数字是正确的?
-
@DougF 我已经测试过该变量不为空。我也试过让它等于随机文本字符串,只是为了看看它是否会过来,但事实并非如此。是的,这就是它们的布局方式,我将它们放在代码开头部分的标签 (lblRATotal) 旁边。并且那个也显示了值,所以我知道它是正确的变量。我最初尝试解析该标签,但那时我遇到了当页面回发时它返回默认值的问题。我不能真正使用 if (!IsPostBack) 方法,因为我没有将那个号码存储在任何地方。
标签: javascript c# html css asp.net