En mi vista .aspx, tengo un botón para eliminar el objeto que el usuario está viendo del modelo. Antes de confirmar la acción, muestro un mensaje de confirmación con jquery:
$('#btDelete').click(function(e) { e.preventDefault(); $.confirm({ 'title': 'Delete', 'message': "You will delete the object <i>" + <%: Model.Reference.ToString() %> + "</i>. Do you want to continue?", 'buttons': { 'Si': { 'class': 'blue', 'action': function() { //some code to make the delete } }, 'No': { 'class': 'gray', 'action': function() {} } } }); }); El problema es la sección del mensaje: 'mensaje': "You will delete the object <i>" + <%: Model.Reference.ToString() %> + "</i> . ¿Quieres continuar?". Cuando muestro Model.Reference.ToString(). La referencia es una cadena que representa el objeto (sí, también intento eliminar ToString() ). Cuando el mensaje muestra la referencia, en algunos casos funciona bien y muestra la Referencia (normalmente es un número):
Pero el problema es cuando ese número comienza por 0. Si es todo 0 y luego algún número, elimina todos los 0 y solo muestra el último número. Por ejemplo, la cadena 0003 se muestra como:
Pero más extraño es cuando la referencia alterna el 0 con otros números. Por ejemplo, el objeto con referencia 03030 SE TRANSFORMA COMO 1560. ¿Por qué?
Como puede ver en la imagen, en el título de la página (Vista de detalles) muestra correctamente la referencia (03030) y yo uso la misma: </h1><%: Model.Reference %></h1> . Pero en el mensaje de confirmación hizo una transformación extraña y convirtió 03030 a 1560.... ¿Alguna idea de por qué sucede esto?
Además, si hay alguna letra (como at666), el mensaje ni siquiera se abre. Probé con el mensaje 'mensaje': "Eliminarás el objeto. ¿Quieres continuar?" Y funciona, por lo que el problema es <%: Model.Reference.ToString() %>
Este es el Modelo:
public class ObjectModelDetail { public int Id { get; set; } public string Reference { get; set; } public string Ramo { get; set; } public string FechaCreacion { get; set; } public string FechaFinalizacion { get; set; } }