ASP.NET webform和Client元素ID

时间:2014-08-30 13:21:38

标签: c# html asp.net html5 webforms

使用ASP.NET Webform时,我得到的元素ID如下:

ctl00_ContentPlaceHolder1_ShowThreads1_repThreads_ctl03_divThreadTitle

我知道ASP.NET 4.0 Client ID Feature,但这只会改变元素的名称,我甚至不使用这部分?

我需要的是将客户端上的元素的ID更改为更短更好的版本。

这可能吗?如果是这样?如何?

2 个答案:

答案 0 :(得分:0)

看起来您在页面上删除了用户控件,该页面继承了母版页。

如果你放置ClientIDMode ="静态"在用户控件以及其他控件上,它将缩短整体名称。但为什么要关注长度?

在您的代码中,通过查看Control.ClientID()动态地控制控件。这样您就不会对控件名称进行硬编码。

答案 1 :(得分:0)

这是ASP.NET Webforms的缺点之一。它对HTML的控制非常少。在Web窗体中,我们很多时候都不确定最终会得到什么样的html(在你的情况下是控件的id),与jQuery这样的JavaScript框架集成是一项艰巨的任务。

结帐Webforms Vs MVC以了解详情。