在ASP.NET中访问控制客户端名称而不是ID

nim*_*ima 23 javascript asp.net client-side onclick

我想在JavaScript中触发服务器端的ASP.NET按钮单击事件.我检查网页的源文件和buttononclick在客户端是:

WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$LoginInfo1$btnliOK", "", true, "", "", false, false));
Run Code Online (Sandbox Code Playgroud)

但是我必须ctl00$LoginInfo1$btnliOK用类似的东西代替<%= btnliOK.ClientName %>.有没有办法做到这一点?

Ari*_*tos 42

您可以使用Control.UniqueID属性获取它

btnliOK.UniqueID
Run Code Online (Sandbox Code Playgroud)

UniqueID给出页面呈现的名称
ClientID给出了页面呈现的id
ID给出了你可以在后面的代码上使用的id

  • 只是想说谢谢你 - 这解决了jQuery验证插件大约6个小时的挫败感! (5认同)
  • 非常感谢你,我一直在做'.ClientID.Replace("_","$")'.哪个是可怕的,任何东西都以_内部命名. (2认同)