2014-08-30 56 views
0

当使用ASP.NET网络表单我得到元素id's这样的:ASP.NET Web窗体和客户端元素的ID

ctl00_ContentPlaceHolder1_ShowThreads1_repThreads_ctl03_divThreadTitle 

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

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

这可能吗?如果是这样?怎么样?

+0

我不明白这是什么不同于你最后一个问题[在ASP.NET Winforms中使元素id更小?](http://stackoverflow.com/questions/25582119/make-element-id-smaller-in -asp-net-winforms) – MikeSmithDev 2014-08-30 13:32:41

+0

好吗?但客户端ID Feture似乎只是在改变元素的名称?我需要更改ID本身? – Banshee 2014-08-30 17:54:58

+0

咦?这个术语所暗示的“ClientID”是元素的“id”。例如'静态'模式:'' – EdSF 2014-08-30 19:29:51

回答

0

它看起来像是在页面上放置了一个用户控件,并且该页面继承了母版页。

如果将ClientIDMode =“Static”放置在用户控件以及其他控件上,它将缩短整体名称。但为什么要关心这个长度?

在您的代码中,通过查看Control.ClientID()来动态追踪控件。通过这种方式,您不会对控件名称进行硬编码。

0

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

结算这Webforms Vs MVC探索更多。