Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html WebForms UnobtrusiveValidationMode要求为';jquery';。请添加名为jquery的ScriptResourceMapping(区分大小写)_Html_Asp.net_Visual Studio_Word Count - Fatal编程技术网

Html WebForms UnobtrusiveValidationMode要求为';jquery';。请添加名为jquery的ScriptResourceMapping(区分大小写)

Html WebForms UnobtrusiveValidationMode要求为';jquery';。请添加名为jquery的ScriptResourceMapping(区分大小写),html,asp.net,visual-studio,word-count,Html,Asp.net,Visual Studio,Word Count,我正在使用Visual Studio 2012构建一个web应用程序。 我正在尝试将字数添加到我的文本框中。 但是,在添加javascript代码和html代码之后。我收到如上所述的错误 这是我的javascript代码 代码: function validateLimit(obj, divID, maxchar) { objDiv = get_object(divID); if (this.id) obj = this; var remaningChar = maxchar - trim

我正在使用Visual Studio 2012构建一个web应用程序。 我正在尝试将字数添加到我的文本框中。 但是,在添加javascript代码和html代码之后。我收到如上所述的错误

这是我的javascript代码

代码:

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, "");
}
函数validateLimit(obj、divID、maxchar){
objDiv=获取对象(divID);
如果(this.id)obj=this;
var remaingchar=maxchar-trimmenter(对象值).length;
if(objDiv.id){
objDiv.innerHTML=RemingChar+“左字符”;
}

如果(remaningChar您需要一个web.config键来启用4.5之前的验证模式

有关的更多信息:

指定ASP.NET如何全局启用内置验证程序控件 使用不引人注目的JavaScript进行客户端验证逻辑

类型:UnobtrusiveValidationMode

默认值:无

备注:如果此键值设置为“无”[默认值],则ASP.NET 应用程序将使用4.5之前的行为 页),用于客户端验证逻辑。如果设置了此键值 对于“WebForms”,ASP.NET使用HTML5数据属性和后期绑定 添加脚本引用的JavaScript,用于客户端验证 逻辑

例如:

    <appSettings>
      <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
    </appSettings>


我没有禁用新功能,而是选择按照错误指示操作。在我的global.asax.cs中,我添加了:

protected void Application_Start(object sender, EventArgs e)
{
    string JQueryVer = "1.7.1";
    ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition
    {
        Path = "~/Scripts/jquery-" + JQueryVer + ".min.js",
        DebugPath = "~/Scripts/jquery-" + JQueryVer + ".js",
        CdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-" + JQueryVer + ".min.js",
        CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-" + JQueryVer + ".js",
        CdnSupportsSecureConnection = true,
        LoadSuccessExpression = "window.jQuery"
    });
}

这源于一个突出了脚本资源映射的一些优点的示例。我特别感兴趣的是基于“debug=true”对脚本文件的交付进行集中控制,EnableCDN等。

在新版本的ASP.NET中,默认情况下启用了不引人注目的验证。不引人注目的验证旨在通过将用于执行验证的内联JavaScript替换为使用jQuery的小型JavaScript库来减小页面大小

您可以通过编辑web.config将其禁用,以包括以下内容:

<appSettings>
  <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>
在C#和VB中开始使用ASP.NET 4.5.1的第399页讨论了不引人注目的验证的好处,并介绍了如何配置它

对于查找RouteConfig的用户。当您在visual studio中将新项目添加到App_Code文件夹时,它会自动添加。内容如下所示:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Routing;
using Microsoft.AspNet.FriendlyUrls;

namespace @default
{
    public static class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            var settings = new FriendlyUrlSettings();
            settings.AutoRedirectMode = RedirectMode.Permanent;
            routes.EnableFriendlyUrls(settings);
        }
    }
}

至少有三种方法可以禁止使用不引人注目的JavaScript进行客户端验证:

  • 将以下内容添加到web.config文件:
    <configuration>
      <appSettings>
        <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
      </appSettings>
    </configuration>

    要对b_levitt的答案再补充一点。。。 在global.asax上:

    void Application_Start(object sender, EventArgs e) 
    {
        RouteConfig.RegisterRoutes(System.Web.Routing.RouteTable.Routes);
        ScriptManager.ScriptResourceMapping.AddDefinition("jquery",
            new ScriptResourceDefinition
            {
                Path = "/~Scripts/jquery-2.1.1.min.js"
            }
        );
    }
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.SessionState;
    using System.Web.UI;
    
    namespace LoginPage
    {
        public class Global : System.Web.HttpApplication
        {
            protected void Application_Start(object sender, EventArgs e)
            {
                string JQueryVer = "1.11.3";
                ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition
                {
                    Path = "~/js/jquery-" + JQueryVer + ".min.js",
                    DebugPath = "~/js/jquery-" + JQueryVer + ".js",
                    CdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-" + JQueryVer + ".min.js",
                    CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-" + JQueryVer + ".js",
                    CdnSupportsSecureConnection = true,
                    LoadSuccessExpression = "window.jQuery"
                });
            }
        }
    }
    
    在您的default.aspx上

    <body>
       <form id="UserSectionForm" runat="server">
         <asp:ScriptManager ID="ScriptManager" runat="server">
              <Scripts>
                   <asp:ScriptReference Name="jquery" />
              </Scripts>
         </asp:ScriptManager>
         <%--rest of your markup goes here--%>         
       </form>
    </body>
    

    问题是由控件验证程序引起的。只需将J Query引用添加到您的网页,如下所示,然后在web.config文件中添加验证设置即可解决问题。我也遇到了同样的问题,下面给出了我问题的解决方案

    步骤1:

    第二步:


    这将解决您的问题。

    我相信我也遇到了同样的困惑。我在换到以下位置时开始遇到这个问题:

    </system.web>
    <httpRuntime targetFramework="4.5"/>
    
    
    
    这将给出您上面描述的错误消息

    添加:

    <appSettings>
      <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
    

    2017年4月更新: 经过一些实验和测试,我想出了一个有效的组合:

    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
    <httpRuntime targetFramework="4.5.1" />
    
    
    
    与:

    jQuery版本1.11.3


    它有3个解决方案,其他人告诉上。。。 但当尝试应用程序启动解决方案时,我的另一个jQuery库(如picku\u Date\u和\u Time)不起作用。。。 所以我测试了第二种方法,结果是: 1-将目标框架设置为4.5之前的版本 2-在页面标题中使用“UnobtrusiveValidationMode=”None=>

    <%@ Page Title="" Language="C#" 
        MasterPageFile="~/Master/MasteOfHotel.Master" 
        UnobtrusiveValidationMode="None" %>
    
    
    

    它对我有效,不会破坏我的其他jQuery功能。

    为什么这甚至是一个问题……为什么不能默认禁用它?谁会希望启用它呢?不管答案如何,我添加了这个键,但仍然会出现错误……如果使用
    targetFramework=“4.5”,似乎“无”不是默认值
    。我必须将此设置显式添加到我的web.config中,它才能工作。提醒:web.config文件中的父元素应该是根元素,也就是说。我安装了.Net 4.5.2,然后我就遇到了这个问题。我假设windows update for 4.5.2更改了机器配置。为什么要禁用不引人注目的验证,除非您试图获胜“最大页面大小”竞争?@b_levitt我对.NET有点陌生,通过了你提到的解决方案。它确实帮助了很多,但只是好奇我如何调用jQuery函数。例如,我有一个jQuery菜单,在实现上述方法后,我使用了
    /
    。这是正确的方法吗?创建了一个要点:通过不硬编码来改进jQueryVer值;注意:我添加了这两个Nuget软件包,事情进展顺利。必须将/bin文件夹中的新文件复制到生产服务器..取决于您的使用情况哪一个是正确的。我们的应用程序没有任何验证(纯内容交付)我们更喜欢将其全部关闭。对每页设置的调用很好。RouteConfig来自哪里?@Lucas当您使用visual studio创建新项目时,它会将RouteConfig.cs添加到App_代码文件夹中。请参阅编辑的答案。这仅适用于MVC项目吗?似乎不适用于网站(没有项目文件)(WebForms)@user0474975抱歉,我不记得了,目前没有可测试的环境,但我希望它也能正常工作。@丹佛我找到了它。它在网站/WebForms网站中工作,只需删除行“RouteConfig.RegisterRoutes(System.Web.Routing.RouteTable.Routes);”并在上面一行声明ScriptResourceDefinition对象,而不是直接在
    <appSettings>
      <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
    
    </system.web>
    <httpRuntime targetFramework="4.0"/>
    
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
    <httpRuntime targetFramework="4.5.1" />
    
    <%@ Page Title="" Language="C#" 
        MasterPageFile="~/Master/MasteOfHotel.Master" 
        UnobtrusiveValidationMode="None" %>