ASP.NET long Name属性 - 为什么没有ClientNameMode

时间:2013-09-10 11:10:57

标签: asp.net

在ASP.NET中,有很多关于ClientIdMode属性的信息,它使开发人员能够更好地控制HTML中出现的控件的ID属性。

然而,控件呈现其Name属性的方式似乎很少受到关注。它似乎是控件ID及其命名容器层次结构的简单连接。

鉴于网页足够复杂,这些名称会变得很长。它们不仅使HTML有效负载变得大(而且丑陋),而且在每次回发时也会回发到服务器。 (此外,他们进入某些第三方控制套件的控制状态。)

为什么没有ClientNameMode属性 - 或者类似?当然它和Id属性一样重要吗?是否有可能覆盖一些生成/重新水化Name属性的方法,以便我们可以处理它以匹配Id? (由ClientIdMode缩短)

我正在处理的页面上的控件名称的示例是

USoWAR1_tabContainer_UDetailsTabContainer_tabContainer_UDetailsTab_UDetails1_UDueDateAndNotifications1_decDetail_DataEntryRow1_datDueDate_DateTimePicker_calendar_AD

2 个答案:

答案 0 :(得分:0)

据我所知,改变此功能的唯一方法是将控件扩展到您自己的控件并覆盖UniqueID属性(例如,通过返回服务器端ID)。

答案 1 :(得分:0)

我遇到了同样的问题,并且在加载后必须使用JS来设置attr

$('#idofdomobjiwanttoname').attr("name", "whatIWantToNameIt");