在隐藏字段中存储标签值

Storing Label value in Hidden Field

我有一个只读标签,一旦用户输入身高和体重值,它就会获得值。一切都很好,但是一旦我尝试将标签值存储到数据库中,它总是空的,并且在回发标签丢失它们的值后我读到了。因此,我阅读了有关隐藏字段的内容,但找不到有关如何将标签添加为隐藏字段值的正确语法,我之前使用隐藏字段和 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>

客户端对 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>