我在 vb.net 中有以下标签:
<div style="height: 20px; vertical-align: text-bottom;">
<div style="float: left; width: 86%; text-align: right">
<b>Sub-Total</b> (a) through (e) above:
</div>
<div style="float: right; padding-right: 10px">
<asp:Label runat="server" ID="lblRateableEmployeesSubtotal" CssClass="lblRateableEmployeesSubtotalCls" Text="0"></asp:Label>
</div>
</div>
我正在通过 JavaScript 函数动态调整该值:
$('.lblRateableEmployeesSubtotalCls').text(numberWithCommas(subtotal));
只要某些文本框发生更改,就会调用此函数。 numberWithCommas 只是将文本格式化为数字格式 (x,xxx)。
当我尝试将这些值保存在代码隐藏中时,由于某种原因,标签的文本仍然显示为“0”!尽管屏幕上已经清楚地更新了。
If lblRateableEmployeesSubtotal.Text > "" Then .TotalEmployees = CInt(lblRateableEmployeesSubtotal.Text)
知道为什么会发生这种情况吗?
最佳答案
ASP 在执行回发时不会费心包含此信息,特别是因为标签的整个概念不是接受来自客户端的输入。回发时 ASP 不会发送整个 DOM;它只发送专门设计用于接受客户端输入的字段的信息。
在这种情况下,此处使用的适当工具是Hidden
控件。将 asp:HiddenField
控件添加到页面,在 JavaScript 代码中设置该控件的值(当然,您也可以设置标签),然后检查服务器端的隐藏字段。
关于c# - vb.net 中的 Asp 标签不捕获在 javascript 中修改的标签文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25434328/