0

在 ASP.NET 中,已经对 ClientIdMode 属性做了很多工作,该属性使开发人员可以更好地控制控件的 ID 属性,因为它出现在 HTML 中。

然而,似乎很少有人注意控件呈现其名称属性的方式。它似乎是控件 ID 及其命名容器层次结构的简单串联。

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

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

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

USoWAR1_tabContainer_UDetailsTabContainer_tabContainer_UDetailsTab_UDetails1_UDueDateAndNotifications1_decDetail_DataEntryRow1_datDueDate_DateTimePicker_calendar_AD
4

2 回答 2

0

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

于 2013-09-10T14:31:27.580 回答
0

我有同样的问题,并且不得不使用JS来设置attr加载后。

$('#idofdomobjiwanttoname').attr("name", "whatIWantToNameIt");
于 2019-06-03T10:35:55.240 回答