目录
报错如图:
报错详情:
WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。
源错误:
执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[InvalidOperationException: WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。]
System.Web.UI.ClientScriptManager.EnsureJqueryRegistered() +3001316
System.Web.UI.WebControls.BaseValidator.RegisterUnobtrusiveScript() +12
System.Web.UI.WebControls.BaseValidator.OnPreRender(EventArgs e) +9805683
System.Web.UI.Control.PreRenderRecursiveInternal() +90
System.Web.UI.Control.PreRenderRecursiveInternal() +163
System.Web.UI.Control.PreRenderRecursiveInternal() +163
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +906
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.8.4330.0
register.aspx页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="register.aspx.cs" Inherits="VehicleWarehouseManagementSystem.register" %>
<!DOCTYPE html>
<html lang="ch">
<head>
<meta charset="UTF-8">
<title>用户注册</title>
<style>
* {
margin: 0px;
padding: 0px;
box-sizing: border-box;
}
body {
background-image: url('../img/bg.jpg');
padding-top: 25px;
}
.re_div {
border: 8px solid #EEEEEE;
width: 800px;
height: 300px;
background-color: white;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.cLeft {
float: left;
margin: 15px;
}
#p1 {
color: rgba(255,106,.8);
font-size: 20px;
}
#p2 {
color: #A6A6A6;
font-size: 20px;
}
.cCenter {
float: left;
}
.td_left {
width: 100px;
height: 50px;
text-align: right;
color: #A6A6A6;
}
.td_right {
padding-left: 50px;
color: #A6A6A6;
}
#tbusername, #passwordRe, #tbID, #tbpassword, #email, #name, #tel, #birthday, #checkcode {
width: 251px;
height: 32px;
border: 1px solid #A6A6A6;
/* 设置边框圆角*/
border-radius: 10px;
padding-left: 10px;
}
#checkcode {
width: 110px;
}
#cheImg {
height: 32px;
vertical-align: middle;
}
#btn_sub {
width: 150px;
height: 40px;
background-color: rgba(255,106,.8);
border: 1px solid #FFD026;
}
.cRight {
font-size: 15px;
margin: 15px;
float: right;
}
.cRight p a {
color: rgba(255,106,.8);
}
</style>
</head>
<body>
<div class="re_div">
<div class="cLeft">
<p id="p1">新用户注册</p>
<p id="p2">USER REGISTER</p>
</div>
<div class="cCenter">
<form id="login" runat="server">
<table>
<tr>
<td class="td_left">
<asp:Label ID="lbusername" runat="server" CssClass="cleft">用户名</asp:Label></td>
<td class="td_right">
<asp:TextBox ID="tbusername" runat="server" CssClass="cright"></asp:TextBox></td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidatorUsername" runat="server" ErrorMessage="用户名不能为空*" ControlToValidate="tbusername" ForeColor="Red"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td class="td_left">
<asp:Label ID="lbID" runat="server" CssClass="cleft">账号</asp:Label></td>
<td class="td_right">
<asp:TextBox ID="tbID" runat="server" CssClass="cright"></asp:TextBox></td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidatorID" runat="server" ErrorMessage="账号不能为空*" ControlToValidate="tbID" ForeColor="Red"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td class="td_left">
<asp:Label ID="lbpsw" runat="server" CssClass="cleft">密码</asp:Label></td>
<td class="td_right">
<asp:TextBox ID="tbpassword" runat="server" CssClass="cright" TextMode="Password"></asp:TextBox></td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidatorPswd" runat="server" ErrorMessage="密码不能为空*" ControlToValidate="tbpassword" ForeColor="Red"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td class="td_left">
<label for="passwordRe">确认密码</label></td>
<td class="td_right">
<asp:TextBox ID="passwordRe" runat="server" CssClass="cright" TextMode="Password"></asp:TextBox></td>
<td>
<asp:CompareValidator ID="CompareValidatorPswdRe" runat="server" ErrorMessage="两次密码输入不一致*" ForeColor="Red" ControlToCompare="passwordRe" ControlToValidate="tbpassword"></asp:CompareValidator></td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button ID="btn_sub" runat="server" Text="注册" οnclick="btnZhuce_Click" OnClick="btnZhuce_Click" /></td>
</tr>
</table>
</form>
<%-- <form runat="server">
<table>
<tr>
<td class="td_left"><label for="username">用户名</label></td>
<td class="td_right"><input type="text" name="username" id="username" placeholder="请输入用户名"></td>
</tr>
<tr>
<td class="td_left"><label for="ID">ID</label></td>
<td class="td_right"><input type="text" name="ID" id="ID" placeholder="请输入ID"></td>
</tr>
<tr>
<td class="td_left"><label for="password">密码</label></td>
<td class="td_right"><input type="password" name="password" id="password" placeholder="请输入密码"></td>
</tr>
<tr>
<td class="td_left"><label for="passwordRe">确认密码</label></td>
<td class="td_right"><input type="password" name="passwordRe" id="passwordRe" placeholder="请再次输入密码"></td>
</tr>
<tr>
<td colspan="2" align="center"><asp:Button ID="btn_sub" runat="server" Text="注册" /></td>
</tr>
</table>
</form>--%>
</div>
<div class="cRight">
<p id="p3">已有账号?<a href="login.aspx">立即登录</a></p>
</div>
</div>
</body>
</html>
register.aspx.cs页面代码:
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace VehicleWarehouseManagementSystem
{
public partial class register : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
}
protected void btnZhuce_Click(object sender, EventArgs e)
{
string username = this.tbusername.Text;
string password = this.tbpassword.Text;
string ID = this.tbID.Text;
//个人数据库连接验证
String sqlConnectionStr = "Data Source=LAPTOP-K9G4M391;Initial Catalog=Net;Integrated Security=True";
SqlConnection sqlConnection = new SqlConnection(sqlConnectionStr);
sqlConnection.Open();
//插入数据至user表
string sql = "insert into [dbo].[user] (name,id,password)VALUES ('" + ID + "','" + username + "','" + password + "')";
//insert into [dbo].[user] (name,id,password)VALUES (123,456,789);
SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);
sqlCommand.Parameters.AddWithValue("参数名", 1); //sql语句中如果有参数,则添加
int result = sqlCommand.ExecuteNonQuery();
sqlConnection.Close(); //关闭数据库连接
if (result == 1)
{
Response.Write("<script>alert('注册成功!请返回登录!');</script>");
Response.Write("<script>self.location='login.aspx';</script>");
//Response.Redirect("index.aspx");
}
else
{
Response.Write("<script>alert('注册失败!';)</script>");
}
}
}
}
解决:更改Framework版本(从4.5改为4.0)
修改前:
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
</compilers>
</system.codedom>
</configuration>
修改后:
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime targetFramework="4.0" />
</system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
</compilers>
</system.codedom>
</configuration>