例如:
href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$PlaceHolderMain$g_188da349_7fe9_42f0_9a95_40cee6cd37a4$ctl00$ctl05$lbtnApplicationName','')">
这些内容背后是什么?
答案 0 :(得分:1)
这是发送到浏览器的“服务器端”链接按钮的HTML的一部分:
<asp:LinkButton id="lbtnApplicationName" runat="server" OnClick="SomeFuncHere" Text="Get Application Name" />
此按钮位于默认情况下名为ctl05
的未命名控件内,并且位于其他没有名称的控件内,因此获得了默认名称ctl00
等等等等。
通常,ASP.NET
框架正在根据其直接ID构建元素的最终ID,并链接其父控件的ID - 包括内容占位符。
对于表单元素,他们的name
以类似的方式构建,但不是_
,而是使用$
来“链接”父母的ID。
为什么呢?避免在同一HTML文档中有多个具有相同ID的元素的可能性。 (或者当它们位于不同的控件中时,两个具有相同名称的表单元素)
现在这个最后的ID用于告诉服务器调用PostBack的控件是什么 - 这是通过框架自动写入页面来实现的,该框架将元素的ID作为其参数。