我有一个只读标签,一旦用户输入高度和重量值,它就会获得值。一切都工作得很好,但是一旦我尝试将标签值存储到数据库,它总是空的,我读到了在回发标签丢失它们的值之后。所以我读到了隐藏字段,但是我找不到如何将标签添加为隐藏字段值的正确语法,我在使用EVAL之前使用了隐藏字段,但只有在绑定数据时才有效。
帮助将不胜感激。
<asp:Label ID="lblBMI" runat="server" ClientIDMode="Static" ReadOnly="true"></asp:Label>
<script type="text/javascript">
$(document).ready(function () {
CalculateBodyMassIndex();
$('#txtHeight').change(function () {
CalculateBodyMassIndex();
});
$('#txtWeight').change(function () {
CalculateBodyMassIndex();
});
function CalculateBodyMassIndex() {
var floatNumber= /^((\d+(\.\d *)?)|((\d*\.)?\d+))$/;
var height = $('#txtHeight').val();
var weight = $('#txtWeight').val();
if (height != "" && weight != "") {
if (floatNumber.test(height) && floatNumber.test(weight)) {
var bmi = weight / (height * height)
$('#lblBMI').text(bmi.toFixed(2));
} else {
alert('Only numbers are allowed');
}
} else {
$('#lblBMI').text("");
}
}
});
</script>
答案 0 :(得分:0)
对Label
值客户端所做的更改将不会发布到服务器,因此将始终为空。您需要将其存储在输入字段中。
下面的代码片段也会将BMI值设置为隐藏字段,并且可以在后面的代码中检索该值。
<asp:Label ID="lblBMI" runat="server"></asp:Label>
<asp:HiddenField ID="HiddenField1" runat="server" />
<script type="text/javascript">
var bmi = 5.3;
$('#<%= lblBMI.ClientID %>').text(bmi.toFixed(2));
$('#<%= HiddenField1.ClientID %>').val(bmi.toFixed(2));
</script>