将代码后面的值传递给隐藏字段

时间:2014-02-08 10:05:00

标签: javascript asp.net

在下面的代码中,我有一个隐藏字段,我必须将值存储在隐藏字段中,并且我在隐藏字段中获得了没有值的空警报,但我使用label打印了该值.Pls帮助我解决问题。 代码:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (FieldTypeInfo == FieldType.TextBox)
                {
                    TblSearch.Visible = false;
                    TblDate.Visible = false;
                    tblDropd.Visible = false;
                    TblChk.Visible = false;
                    lblText.Text = FieldLabel;
                    txtreq.Enabled = this.IsMandatory;
                    string strRegularExp = string.Empty;

                    if (ListOfRegularExpression != null)
                    {
                        for (int iRow = 0; iRow < ListOfRegularExpression.Count; iRow++)
                        {
                            strRegularExp += ListOfRegularExpression[iRow].ToString() + "~~";
                            hidRegExp.Value = strRegularExp;
                            if (iRow == ListOfRegularExpression.Count - 1)
                            {
                                strRegularExp = strRegularExp.TrimEnd("~~".ToCharArray());
                                txtField.Attributes.Add("onblur", "javascript:ValidateRegExp('" + txtField.ToString() + "');");
                            }
                        }
                    }

                    hidRegExp.Value = strRegularExp;

                    lbl.Text = "The value of the HiddenField control is " + hidRegExp.Value + "."; 
                }}}

JS:

function ValidateRegExp(txtInput) {
        var hiddenValue = document.getElementById("<%=hidRegExp.ClientID%>").value;
        alert("hiddenValue" + hiddenValue + ".");
        var mySplitResult = new Array();
        mySplitResult = hiddenValue.split("~~");

        for (i = 0; i < mySplitResult.length; i++) {
            //document.write("<br /> Array[" + i + " ]= " + mySplitResult[i]);
            var re = new RegExp(mySplitResult[i]);
            if (txtInput.match(re)) {
                alert("Successful match");
            } else {
                alert("No match");
            }

        }

    }

<asp:HiddenField ID="hidRegExp" runat="server" ClientIDMode="static" EnableViewState="true" >
</asp:HiddenField >
<asp:Label ID="lbl" runat="server"></asp:Label>

1 个答案:

答案 0 :(得分:0)

第一次加载页面后,您在页面源中看到了什么?也许您稍后在另一个事件中重置value属性?我发布的代码看不出有什么问题。

相关问题