Estoy creando una aplicación web con Visual Studio 2012. Estoy intentando agregar el recuento de palabras en mi cuadro de texto. Sin embargo, después de agregar los códigos javascript y los códigos html. Recibo el error como se indicó anteriormente.
Aquí están mis códigos JavaScript
Código:
function validateLimit(obj, divID, maxchar) {
objDiv = get_object(divID);
if (this.id) obj = this;
var remaningChar = maxchar - trimEnter(obj.value).length;
if (objDiv.id) {
objDiv.innerHTML = remaningChar + " characters left";
}
if (remaningChar <= 0) {
obj.value = obj.value.substring(maxchar, 0);
if (objDiv.id) {
objDiv.innerHTML = "0 characters left";
}
return false;
}
else
{ return true; }
}
function get_object(id) {
var object = null;
if (document.layers) {
object = document.layers[id];
} else if (document.all) {
object = document.all[id];
} else if (document.getElementById) {
object = document.getElementById(id);
}
return object;
}
function trimEnter(dataStr) {
return dataStr.replace(/(\r\n|\r|\n)/g, "");
}
Códigos de servidor en la página maestra
<script type="text/javascript" src="js/JScript.js" ></script>
Códigos ASPX, (códigos HTML)
<tr>
<th style="width: 595px; height: 135px;">Official Report :</th>
<td colspan="4" style="height: 135px">
<asp:TextBox ID="tbofficial" runat="server" Height="121px" TextMode="MultiLine" Width="878px" MaxLength="500" ToolTip="Summary:(500 characters)" onkeyup="return validateLimit(this, 'lblMsg1', 500)" ></asp:TextBox>
<div id="lblMsg1">500 characters left</div>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="tbofficial" Display="Dynamic"
SetFocusOnError="True">*</asp:RequiredFieldValidator>
<br />
<asp:Label ID="lblmsg" runat="server"></asp:Label>
<br />
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
<asp:Button ID="btnClear" runat="server" Text="Clear" OnClick="btnClear_Click" />
</td>
</tr>
fuente
targetFramework="4.5"
. Tuve que agregar explícitamente esta configuración a mi web.config para que funcione.En lugar de deshabilitar una nueva función, opté por seguir las instrucciones del error. En mi global.asax.cs agregué:
Esto proviene de una publicación de blog de msdn que destaca algunas de las ventajas de las asignaciones de recursos de script. De particular interés para mí fue el control centralizado sobre la entrega de los archivos de script basados en "debug = true", EnableCDN, etc.
fuente
<script type='text/javascript'> //<![CDATA[ $(document).ready(function () { $("#menu").menu(); }) //]] </script>
. ¿Es este el enfoque correcto?Hay al menos tres formas de deshabilitar el uso de JavaScript discreto para la validación del lado del cliente:
System.Web.UI.ValidationSettings.UnobtrusiveValidationMode
propiedad estática enSystem.Web.UI.UnobtrusiveValidationMode.None
System.Web.UI.Page.UnobtrusiveValidationMode
propiedad de instancia enSystem.Web.UI.UnobtrusiveValidationMode.None
Para deshabilitar la funcionalidad por página, prefiero configurar la
Page.UnobtrusiveValidationMode
propiedad usando la directiva de página:fuente
La validación discreta está habilitada de forma predeterminada en la nueva versión de ASP.NET. La validación discreta tiene como objetivo disminuir el tamaño de la página al reemplazar el JavaScript en línea para realizar la validación con una pequeña biblioteca de JavaScript que usa jQuery.
Puede deshabilitarlo editando web.config para incluir lo siguiente:
O mejor aún, configúrelo correctamente modificando el método Application_Start en global.asax:
La página 399 de Beginning ASP.NET 4.5.1 en C # y VB proporciona una discusión sobre el beneficio de la validación discreta y un tutorial para configurarla.
Para aquellos que buscan RouteConfig. Se agrega automáticamente cuando realiza un nuevo proyecto en Visual Studio en la carpeta App_Code. El contenido se parece a esto:
fuente
para agregar un poco más a la respuesta de b_levitt ... en global.asax:
en su default.aspx
fuente
Creo que me he encontrado con el mismo dilema. Comencé a encontrar el problema cuando cambié a:
Lo que da el mensaje de error que describió anteriormente.
agregando:
Resuelve el problema, pero luego hace que los controles / scripts de validación arrojen errores de tiempo de ejecución de Javascript. Si cambia a:
Deberías estar bien, pero deberás asegurarte de que el resto de tu código se comporta como se desea. Es posible que también deba renunciar a algunas funciones nuevas que solo están disponibles en 4.5 en adelante.
PD Se recomienda encarecidamente que lea lo siguiente antes de implementar esta solución. Especialmente, si usa la funcionalidad Async:
https://blogs.msdn.microsoft.com/webdev/2012/11/19/all-about-httpruntime-targetframework/
ACTUALIZACIÓN Abril de 2017: después de algunos experimentos y pruebas, se me ocurrió una combinación que funciona:
con:
fuente
El problema se produjo debido al validador de control. Simplemente agregue la referencia de J Query a su página web de la siguiente manera y luego agregue la Configuración de validación en su archivo web.config para resolver el problema. Yo también enfrenté el mismo problema y el siguiente dio la solución a mi problema.
Paso 1:
Paso 2 :
Resolverá tu problema.
fuente
Tiene 3 soluciones que otros chicos le dijeron a la parte superior ... pero cuando intento la solución Application_Start, mi otra biblioteca jQuery como Pickup_Date_and_Time no funciona ... así que pruebo de segunda manera y responde: 1- establezco Target FrameWork en Pre 4.5 2 - Use "UnobtrusiveValidationMode =" None "" en el encabezado de su página =>
funciona para mí y no interrumpe mi otra función jQuery.
fuente