首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么id要在asp.net中为控件动态生成?

问为什么id要在asp.net中为控件动态生成?
EN

Stack Overflow用户
提问于 2017-11-21 04:08:24
回答 2查看 1K关注 0票数 1

我有一个控制,比如说:

代码语言:javascript
复制
<asp:Button runat="server" id="button"></asp:Button>

实际的id是“按钮”,但是在使用浏览器控制台进行调试时,我可以找到类似于"ctl100_but$button“的id。下面是我的疑虑。

1.)ctl100_but是从哪里生成的?2)这个id的目的是什么?3)有方法阻止这种动态生成吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-21 04:44:44

1& 2.这是由asp.net在后端生成的,当它将您的asp.net代码转换为可以被浏览器理解的html代码时。唯一的目的是避免重复ID时,我们使用中继器或网格视图,因为在这些情况下,我们设计的项目模板与相同的ID,当网格视图或中继器被呈现时,就会有多个项目。因此,Asp.Net使用这个动态Id生成。Gridview和中继器只是少数几个例子,还有更多这样的控制。

  1. 通过在代码中添加ClientIDMode=“静态”,始终可以将其设置为与您指定的相同。因此,上面的代码如下所示:

使其静态不会影响任何东西,只要没有重复的ids。

票数 2
EN

Stack Overflow用户

发布于 2017-11-21 09:52:21

我要说的是,这是框架的命名约定,框架是如何以自己的方式工作的。请参阅详细信息https://msdn.microsoft.com/en-us/library/system.web.ui.clientidmode(v=vs.110).aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47405016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档