Estou criando um aplicativo Web usando o Visual Studio 2012. Estou tentando adicionar a contagem de palavras à minha caixa de texto. No entanto, após adicionar os códigos javascript e os códigos html. Eu recebo o erro como indicado acima.
Aqui estão os meus 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 na página mestra
<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>
fonte
targetFramework="4.5"
. Eu tive que adicionar explicitamente essa configuração ao meu web.config para que ele funcionasse.Em vez de desativar um novo recurso, optei por seguir as instruções do erro. No meu global.asax.cs, adicionei:
Isso vem de uma postagem no blog msdn, que destaca algumas das vantagens dos mapeamentos de recursos de script. De particular interesse para mim, foi o controle centralizado sobre a entrega dos arquivos de script com base em "debug = true", EnableCDN, etc.
fonte
<script type='text/javascript'> //<![CDATA[ $(document).ready(function () { $("#menu").menu(); }) //]] </script>
. Essa é a abordagem correta?Há pelo menos três maneiras de desativar o uso de JavaScript discreto para validação do lado do cliente:
System.Web.UI.ValidationSettings.UnobtrusiveValidationMode
propriedade estática comoSystem.Web.UI.UnobtrusiveValidationMode.None
System.Web.UI.Page.UnobtrusiveValidationMode
propriedade da instância comoSystem.Web.UI.UnobtrusiveValidationMode.None
Para desativar a funcionalidade por página, prefiro definir a
Page.UnobtrusiveValidationMode
propriedade usando a diretiva de página:fonte
A validação discreta é ativada por padrão na nova versão do ASP.NET. A validação discreta visa diminuir o tamanho da página, substituindo o JavaScript embutido para executar a validação por uma pequena biblioteca JavaScript que usa jQuery.
Você pode desativá-lo editando web.config para incluir o seguinte:
Ou melhor ainda, configure-o adequadamente, modificando o método Application_Start em global.asax:
Página 399 de Início O ASP.NET 4.5.1 em C # e VB fornece uma discussão sobre os benefícios da validação discreta e uma explicação passo a passo para configurá-lo.
Para quem procura RouteConfig. Ele é adicionado automaticamente quando você cria um novo projeto no visual studio na pasta App_Code. O conteúdo é mais ou menos assim:
fonte
para adicionar um pouco mais à resposta de b_levitt ... no global.asax:
no seu default.aspx
fonte
Acredito que encontrei o mesmo dilema. Comecei a encontrar o problema quando mudei para:
O que fornece a mensagem de erro que você descreve acima.
adicionando:
Resolve o problema, mas faz com que seus controles / scripts de validação gerem erros de tempo de execução do Javascript. Se você mudar para:
Você deve estar bem, mas precisará garantir que o restante do seu código se comporte conforme desejado. Talvez você precise renunciar a alguns novos recursos disponíveis apenas no 4.5 em diante.
PS É altamente recomendável que você leia o seguinte antes de implementar esta solução. Especialmente, se você usar a funcionalidade assíncrona:
https://blogs.msdn.microsoft.com/webdev/2012/11/19/all-about-httpruntime-targetframework/
ATUALIZAÇÃO abril de 2017: Depois de algumas experimentações e testes, criei uma combinação que funciona:
com:
fonte
O problema ocorreu devido ao validador de controle. Basta adicionar a referência de consulta J à sua página da web da seguinte maneira e, em seguida, adicione as configurações de validação no seu arquivo web.config para solucionar o problema. Eu também enfrentei o mesmo problema e o abaixo deu a solução para o meu problema.
Passo 1:
Passo 2 :
Isso resolverá o seu problema.
fonte
Ele tem 3 soluções que outros caras disseram para o superior ... mas quando tenta a solução Application_Start, minha outra biblioteca jQuery como Pickup_Date_and_Time não funciona ... então eu testei de segunda maneira e ele respondeu: 1- defina o Target FrameWork como Pre 4.5 2 - Use "UnobtrusiveValidationMode =" None "" no cabeçalho da sua página =>
funciona para mim e não interrompe minha outra função jQuery.
fonte