【问题标题】:Form's input element name in ASP .NETASP .NET 中表单的输入元素名称
【发布时间】:2011-06-13 00:19:59
【问题描述】:

我正在使用对表单元素的 name 属性进行操作的 JQuery 插件。我知道我可以通过以下方式访问 id 属性值:

"<%= myControl.ClientID %>"

name 属性呢?在 html 源代码中,我看到名称和 ID 彼此不同。

感谢帕维尔

编辑:

完整代码:

            $("form").validate({
            rules: { 
                "<%= _FullNameTextbox.ClientID %>": {
                    required: true,
                    minlength: 2 
                },
                "<%= _EmailAddressTextbox.ClientID %>": {
                    required: true,
                    email: true 
                }
            },
            messages: { 
                "<%= _FullNameTextbox.ClientID %>": {
                    required: "Please enter your full name",
                    minlength: "Your name must consist of at least two characters" 
                }, 
                "<%= _EmailAddressTextbox.ClientID %>": {
                    required: "Please enter a valid email address",
                    email: "Please enter a valid email address" 
                }
            }
        });

当控件在 Page 上时,它运行良好。但是现在,当我将它放在用户控件中时,idname 不同:

<input type="text" id="Container__EmailAddressTextbox" name="Container$_EmailAddressTextbox" class="error">

因此,我必须访问 name 属性值

,而不是使用 _FullNameTextbox.ClientID

【问题讨论】:

  • 你能贴出你的控件的代码吗?
  • 我不知道它是否有帮助,但你可以试试(这个)
  • 这个?问题是在渲染页面的同时创建 JavaScript 代码。这有什么帮助?
  • 你试过用_EmailAddressTextbox.UniqueID吗?
  • 您使用的是什么插件,是否可以选择使用 ID。 Javascript 中很少使用名称,但如果您想处理共享相同名称的单选按钮,例如在 ID 无法找到所有相关按钮(ID 必须是唯一的)的验证中,它可能会很有用。

标签: asp.net jquery html webforms


【解决方案1】:

你的控件的UniqueID属性将被用作它的客户端name属性,所以你可以这样写:

"<%= myControl.UniqueID %>"

【讨论】:

  • 谢谢,就像一个魅力。我不知道 UniqueID 与 name 属性相同的事实
  • 适用于 TextBox,但不适用于 RadioButton。 UniqueID 返回一些其他值,而不是名称,不是 id,也不是 value 属性。
猜你喜欢
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-09
  • 1970-01-01
  • 2015-05-24
  • 2011-11-09
相关资源
最近更新 更多