当我使用需要ID的jquery时,如何绕过asp.net自动生成ID?

时间:2011-10-21 18:20:06

标签: jquery asp.net validation jquery-validate

我正在使用jquery流行的Validate插件来验证我的所有字段。当输入字段未在服务器上运行时,这非常有效,因此不会重命名输入的所有ID和名称。

我想知道是否有不同的方法来选择jquery中的输入,所以我仍然可以使用该插件。 jquery如下:

<script type="text/javascript">
jQuery.validator.messages.required = "";
$(document).ready(function () {
    $('#form1').validate({
        rules: {
            firstName: {
                required: true,
            },
        }
    });
});

目前,如果我使用<asp:TextBox.../>,则ID会出现在“ContentPlaceHolderBody_firstName”中,而且名称会出现在“ctl00 $ ContentPlaceHolderBody $ firstName”中。

我甚至尝试更换jquery中的名称以反映ID和名称无效。

最好的方法是什么?我可以添加一个类并选择那种方式吗?如果是这样,jquery选择器会是什么样的?

任何帮助表示赞赏!谢谢!

6 个答案:

答案 0 :(得分:2)

您可以编写一些内联服务器端代码,如:

$('#form1').validate({
        rules: {
            <%= txtFirstName.ClientID %>: {
                required: true,
            },
        }
    });

答案 1 :(得分:1)

答案 2 :(得分:0)

将ClientIDMode属性设置为static

http://msdn.microsoft.com/en-us/library/1d04y8ss.aspx

答案 3 :(得分:0)

类的jquery选择器是$(“。classname)

答案 4 :(得分:0)

.net 4.0

您可以设置ClientIDMode="static"并设置可预测的控件ID

e.g。

<asp:Label ID="Label1" runat="server" ClientIDMode="static" />

在javascript方面,您可以拥有自己选择的ID

$("#Label1").hide();

答案 5 :(得分:0)

在asp控件中添加一个类,然后选择该类而不是ID