在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
答案 0 :(得分:0)
据我所知,改变此功能的唯一方法是将控件扩展到您自己的控件并覆盖UniqueID
属性(例如,通过返回服务器端ID)。
答案 1 :(得分:0)
我遇到了同样的问题,并且在加载后必须使用JS
来设置attr
。
$('#idofdomobjiwanttoname').attr("name", "whatIWantToNameIt");