Asp.net 用户控件静态名称选项?

Asp.net 用户控件静态名称选项?,asp.net,web-user-controls,Asp.net,Web User Controls,我知道有一种方法可以强制asp web用户控件(ascx)使用静态ID,这样它们就不会附加所有附加的命名垃圾…但是有没有方法可以对“name”属性执行相同的操作?具体来说,在这种情况下,对于DDL?JQuery需要一个特定的名称,我需要阻止.NET这样做 尝试将clientdmode=“Static”添加到控件标记中 <asp:FileUpload ID="FileUpload1" runat="server" ClientIDMode="Static" /> 目前在ASP.Net

我知道有一种方法可以强制asp web用户控件(ascx)使用静态ID,这样它们就不会附加所有附加的命名垃圾…但是有没有方法可以对“name”属性执行相同的操作?具体来说,在这种情况下,对于DDL?JQuery需要一个特定的名称,我需要阻止.NET这样做

尝试将clientdmode=“Static”添加到控件标记中

<asp:FileUpload ID="FileUpload1" runat="server" ClientIDMode="Static" />

目前在ASP.Net中不可能。。。我发现这种组合是可以接受的解决方案

clientdmode=“Static”
添加到控件:

<asp:HiddenField ID="HiddenField1" runat="server" ClientIDMode="Static" />

为什么不让jQuery使用ID呢?我正在使用验证插件,它需要/使用“name”。@JohnKinane:如果链接回答了你的问题,你可能会对该答案进行投票并删除你的问题。这不是复制品,因为你问了别的问题。除此之外,我不知道如何强制ASP.NET生成静态名称。这会使表单的id为静态而不是名称HMMMM如果我们知道id为HiddenField1,为什么要再次选择它?:)顺便说一句,谢谢你的回答。我在我的一个项目中使用了同样的想法,这让我想起了投票给你的答案:)原谅我的无知,但这不会打破任何约束吗?我知道这会在MVC中引起一些问题。@Christian Cody是对的,对于ASP.NET web窗体,这意味着控件的值不会在Viewstate中返回,否则解决方案会起作用
$(document).ready(function () {

            // alert($("#HiddenField1").attr("name"));

            $("#HiddenField1").attr("name", "HiddenField1");

            // alert($("#HiddenField1").attr("name"));
        });