使用jquery脚本设置ASP.NET控件属性

时间:2010-03-04 03:07:47

标签: asp.net jquery

当我选中一个复选框时,我正在尝试为asp.net控件属性设置新值。

在我的情况下,我有RegularExpressionValidator asp.net控件,当我选中该框时,我将获得属性ErrorMessage和ValidationExpression的新值。

我试过这段代码,但没跟我合作。

请帮忙。

这是我的代码: .................................................. .............................

<script src="js/jquery-1.4.1.js" type="text/javascript"></script>

<script type="text/javascript">

    function chkinput() {


        if ($('#<%=chkIntphoneHome.ClientID %>').is(':checked')) {

            $('#<%=REV_HomePhone.ClientID %>').attr('ErrorMessage', 'new msg');
            $('#<%=REV_HomePhone.ClientID %>').attr('ValidationExpression', 'new exp'); 
        }
    }

 </script>
<asp:CheckBox ID="chkIntMobileHome" runat="server" Style="position: absolute; top: 200px;
                    left: 535px;" Text="Internation Code" AutoPostBack="True"
                    />
<asp:TextBox ID="txtHomePhone" runat="server" Style="top: 147px; left: 543px; position: absolute;
                    height: 22px; width: 128px" ></asp:TextBox>
                <asp:RegularExpressionValidator ID="REV_HomePhone" runat="server" ErrorMessage="Please enter valid Home Phone"
                    Style="position: absolute; top: 177px; left: 476px; width: 226px;" 
                    Display="Dynamic" ControlToValidate="txtHomePhone"
                    ValidationExpression="\d{3}?\d{3}\d{4}"></asp:RegularExpressionValidator>

2 个答案:

答案 0 :(得分:1)

你需要在后面的代码中处理它,它不会像你那样工作。 jQuery将在页面呈现后添加这些属性,从而添加到输出,对.NET控件没有任何影响。

编辑:建议,您可以使用updatePanel包装您的内容,这样您就可以获得您可能希望使用jQuery的部分回发效果,然后可以在updatePanel中挂钩OnLoad事件并查看它是否是ajaxRequest,并且相应地更新您的页面。

答案 1 :(得分:0)

我认为您正在更改文本框的属性,而不是resumerexpressionvalidator控件。它应该是这样的吗?

        if ($('#<%=chkIntphoneHome.ClientID %>').is(':checked')) {

        $('#<%=REV_HomePhone.ClientID %>').attr('ErrorMessage', 'new msg');
        $('#<%=REV_HomePhone.ClientID %>').attr('ValidationExpression', 'new exp'); 
    }