Tengo un asp:ListView
cuyo ClientIDMode se establece en Predecible. Its ItemTemplate contiene un asp:textbox
.asp.net 4.0: ¿hay algún equivalente de ClientIDMode para los nombres de INPUT?
El ID de la caja de texto está actuando como espero que, pero su name
sigue utilizando lo que parece ser un algoritmo de estilo AutoID:
<input name="lvFields$ctrl0$tbVal" id="lvFields_tbVal_somekey" type="text"/>
¿Hay una manera para mí para hacer que el nombre de la entrada para actuar como lo hace la identificación?
(Edit en respuesta a preguntas a continuación :)
El Name
del elemento de entrada es lo que hay en los datos POST, así que si una devolución de datos altera la lista a la que está unido el ListView (por ejemplo, el intercambio de dos elementos) los valores de los cuadros de texto terminan asociados con las claves incorrectas, porque el marco los correlaciona según el Name
y no el ID
.
¿Por qué necesita el nombre para ser 'Predictable'? –
Si ya tiene 'ID's que son' Predecibles', ¿por qué necesita que 'Nombre' sea también? – Oded
¿Una razón podría ser si desea devolver el valor seleccionado de un conjunto de botones de opción en JavaScript? Si tiene un diseñador de JS/HTML y un programador de back-end, tal como está el programador debería entender que hacer referencia a los nombres de cualquier elemento DOM estaba fuera de los límites, porque esos nombres además de ser feos podrían cambiar inesperadamente. . –