0

例如:

href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$PlaceHolderMain$g_188da349_7fe9_42f0_9a95_40cee6cd37a4$ctl00$ctl05$lbtnApplicationName','')">

call后面的这个内容是什么?

4

1 回答 1

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 的控件是什么 - 这是使用由框架自动写入页面的 JavaScript 函数来完成的,该框架将元素的 ID 作为其参数。

于 2011-03-22T16:14:30.893 回答