使用ASP.NET Webform时,我得到的元素ID如下:
ctl00_ContentPlaceHolder1_ShowThreads1_repThreads_ctl03_divThreadTitle
我知道ASP.NET 4.0 Client ID Feature,但这只会改变元素的名称,我甚至不使用这部分?
我需要的是将客户端上的元素的ID更改为更短更好的版本。
这可能吗?如果是这样?如何?
答案 0 :(得分:0)
看起来您在页面上删除了用户控件,该页面继承了母版页。
如果你放置ClientIDMode ="静态"在用户控件以及其他控件上,它将缩短整体名称。但为什么要关注长度?
在您的代码中,通过查看Control.ClientID()动态地控制控件。这样您就不会对控件名称进行硬编码。
答案 1 :(得分:0)
这是ASP.NET Webforms的缺点之一。它对HTML的控制非常少。在Web窗体中,我们很多时候都不确定最终会得到什么样的html(在你的情况下是控件的id),与jQuery这样的JavaScript框架集成是一项艰巨的任务。
结帐Webforms Vs MVC以了解详情。