我在表单上有一系列文本框。当用户在这些文本框中插入数字时,会进行计算并<asp:Label>
通过 JavaScript 更新控件以反映这些计算:
document.getElementById('<%=TotalLoans.ClientID %>').innerHTML = TotalLoans;
这会正确更新 UI。但是,当我尝试访问代码隐藏中的值时,该Text
属性为空。我想这是有道理的,因为我是innerHTML
通过 JavaScript 更新属性的。
//TotalLoans.Text will always be equal to "" in this scenario
double bTotalLoans = string.IsNullOrEmpty(TotalLoans.Text)
? 0.00
: Convert.ToDouble(TotalLoans.Text);
如何以可以读取代码隐藏中的属性的方式更新 via JavaScript 的属性Text
?<asp:Label>
更新
这是包含 41 个标签的大型表单上的一个小问题,每个标签都为用户显示一些计算的结果。听从 FishBasketGordo 的建议,我把我<asp:Label>
的变成了残疾人<asp:TextBox>
。我正在设置新文本框的值,如下所示:
document.getElementById('<%=TotalLoans.ClientID %>').value = TotalLoans;
同样,在代码隐藏中, 的值TotalLoans.Text
始终等于“”。
我不介意改变我的处理方式,但这就是问题的症结所在。
我正在使用 JavaScript 来操作某些控件的属性值。单击“提交”时,我需要能够从后面的代码中访问这些操作值。
有什么建议我该怎么做?
更新 2
关于@James Johnson 的回答,我无法.innerText
按照建议使用属性检索值。我已经EnableViewState
在<asp:Label>
. 还有什么我想念的吗?
我不明白为什么,当我输入文本框并提交表单时,我可以访问代码隐藏中的值,但是当我通过 JavaScript 以编程方式更改文本框或标签的文本时,我无法访问新值.