其他分享
首页 > 其他分享> > .net – 为什么我看不到服务器端控件生成的ID?

.net – 为什么我看不到服务器端控件生成的ID?

作者:互联网

我现在对此感到困惑.让我解释:

我看到有人在谈论在asp.net(3.5)中向页面添加一个按钮或其他控件,并且当控件呈现时它会更改该控件的Id,例如. Button1成为Button1_somethingsomething阻止他们使用jQuery,他们最终使用的是<%controlId.ClientId%>

所以我做了一点测试

1. I added a button on the page:
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server"  Text="Button" />
<div>

2. Then I added a JavaScript and jQuery:
<script type="text/javascript">
                    $(document).ready(function() {
                    $("#Button1").click(function() {
                        alert("Hello world!");
                    });

                    });
                </script>

3. The generated html is this:
<div>
  <input type="submit" name="Button1" value="Button" id="Button1" />
<div>

现在,我没有看到ASP.NET(asp.net 3.5)改变了ID.为什么我会看到不同的行为?

顺便说一句.当我按下按钮时,这确实有效!

谢谢.

解决方法:

ASP.NET仅在控件位于Naming Container内时更改ID.这可能包括某些用户控件,母版页中的ContentPlaceHolders以及重复控件(Repeater,GridView等)

标签:jquery,javascript,net,asp-net,asp-net-3-5
来源: https://codeday.me/bug/20190722/1499395.html