配置
添加文件夹App_Code,App_Data,Scripts,Images
将jquery.js放入Scripts中,将图片放入Images中
jquery下载地址:https://jquery.com/,点击Download jQuery下载
点击第一个,进去以后按Ctrl+S保存到桌面上
图片像素点可用PPT制作,同画图软件查看像素点
在web.config下配置(不要放在configuration标签下的第一位)
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>
添加全局文件
在Application_Start中加入
ScriptResourceDefinition scriptResDef =new ScriptResourceDefinition();
scriptResDef.Path="~/Scripts/jquert-3.7.1";
ScriptManager.ScriptResourceMapping.AddDefinition("jquery",scriptResDef);
在App_Data中添加SQL server数据库
在App_Code中添加ADO.NET
一路点下去
sql代码
CREATE TABLE [dbo].[Category] (
[CategoryId] INT NOT NULL,
[Name] NVARCHAR (50) NULL,
[Descn] NVARCHAR (50) NULL,
[price] MONEY NULL,
PRIMARY KEY CLUSTERED ([CategoryId] ASC)
);
创建两个窗口
Default.aspx代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ImageMap ID="imapNav" runat="server" ImageUrl="~/Images/nav_map.png">
<asp:RectangleHotSpot Bottom="100" Right="215"
NavigateUrl="http://jw.dhu.edu.cn"/>
<asp:RectangleHotSpot Bottom="100" Left="216" Right="446"
NavigateUrl="http://research.dhu.edu.cn"/>
<asp:RectangleHotSpot Bottom="100" Left="447" Right="668"
NavigateUrl="http://baidu.com"/>
<asp:RectangleHotSpot Bottom="100" Left="669" Right="886"
NavigateUrl="http://bing.com"/>
<asp:RectangleHotSpot Bottom="100" Left="887" Right="1122"
NavigateUrl="http://bilibili.com"/>
<asp:RectangleHotSpot Bottom="100" Left="1123" Right="1349"
NavigateUrl="http://jd.com"/>
</asp:ImageMap>
</div>
<asp:Button ID="BtnGroup" runat="server" Text="分组" OnClick="BtnGroup_Click" />
<asp:Button ID="BtnPolyMerize" runat="server" Text="统计分组最大值" OnClick="BtnPolyMerize_Click" style="height: 21px" />
<asp:Button ID="BtnOrder" runat="server" Text="降序排序" OnClick="BtnOrder_Click" />
<asp:GridView ID="gvCategory" runat="server"></asp:GridView>
<asp:Button ID="btnRegister" runat="server" Text="注册" OnClick="btnRegister_Click" />
</form>
</body>
</html>
Default.aspx.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
MyPetShopEntities db = new MyPetShopEntities();
protected void Page_Load(object sender, EventArgs e)
{
var product = db.Category.ToList();
gvCategory.DataSource = product;
gvCategory.DataBind();
}
protected void btnRegister_Click(object sender, EventArgs e)
{
Response.Redirect("Default2.aspx");
}
//降序排列
protected void BtnOrder_Click(object sender, EventArgs e)
{
//定义数据库上下文
MyPetShopEntities db = new MyPetShopEntities();
//LING的方法语法
var results = db.Category.OrderByDescending(p => p.price);
//绑定数据对象集合到GridView
gvCategory.DataSource = results.ToList();
gvCategory.DataBind();
}
//分组
protected void BtnGroup_Click(object sender, EventArgs e)
{
//定义数据库上下文
MyPetShopEntities db = new MyPetShopEntities();
//LING的方法语法
//根据Category分组,再将结果存入results
var results = db.Category.GroupBy(p => p.CategoryId);
foreach (var g in results) //results为外集合,g为外集合中的一个元素并且g也是一个集合
{
if (g.Key == 3)
{
var result2 = from r in g //r为键值等于3的组中的一个元素
select r;
gvCategory.DataSource = result2.ToList();
gvCategory.DataBind();
}
}
}
//最大值
protected void BtnPolyMerize_Click(object sender, EventArgs e)
{
//定义数据库上下文
MyPetShopEntities db = new MyPetShopEntities();
//LING的方法语法
var results = db.Category.GroupBy(p => p.CategoryId).
Select(g => new
{
Key = g.Key,
Count = g.Count(),
MaxPrice = g.Max(p => p.price),
});
//绑定数据对象集合到GridView
gvCategory.DataSource = results.ToList();
gvCategory.DataBind();
}
}
Default2.aspx代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table class="auto-style1">
<tr>
<td class="auto-style3" style="text-align: right">用户名:</td>
<td class="auto-style5">
<asp:TextBox ID="txtName" runat="server" Width="120px"></asp:TextBox>
</td>
<td class="auto-style2">
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtName" Display="Dynamic"
ErrorMessage="请输入用户名!" SetFocusOnError="True">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style3" style="text-align: right">性别:</td>
<td class="auto-style5">
<asp:TextBox ID="txtSex" runat="server" Width="120px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtSex" Display="Dynamic"
ErrorMessage="请输入性别!" SetFocusOnError="True">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtSex" Display="Dynamic"
ErrorMessage="性别为男or女" ValidationExpression="^(男|女){1}$" SetFocusOnError="True"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td class="auto-style4" style="text-align: right">密码:</td>
<td class="auto-style6">
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" Width="120px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtPassword"
Display="Dynamic" ErrorMessage="请输入密码!" SetFocusOnError="True">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style4" style="text-align: right">确认密码:</td>
<td class="auto-style6">
<asp:TextBox ID="repassword" runat="server" TextMode="Password" Width="120px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="repassword"
Display="Dynamic" ErrorMessage="请输入确认密码!" SetFocusOnError="True">*</asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvPassword" runat="server" ControlToCompare="txtPassword" ControlToValidate="repassword"
Display="Dynamic" ErrorMessage="密码与确认密码不一致!" SetFocusOnError="True"></asp:CompareValidator>
</td>
</tr>
<tr>
<td class="auto-style4" style="text-align: right">生日:</td>
<td class="auto-style6">
<asp:TextBox ID="txtBirthday" runat="server" Width="120px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtBirthday"
Display="Dynamic" ErrorMessage="请输入生日!" SetFocusOnError="True">*</asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="日期应在1900-1-1到2024-1-1之间!"
Display="Dynamic" ControlToValidate="txtBirthday" MaximumValue="2024-1-4" MinimumValue="1900-1-1"
SetFocusOnError="True" Type="Date"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="auto-style4" style="text-align: right">电话号码:</td>
<td class="auto-style6">
<asp:TextBox ID="txtTelephone" runat="server" Width="120px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="rfvTelephone" runat="server" ControlToValidate="txtTelephone" Display="Dynamic"
ErrorMessage="请输入电话号码!" SetFocusOnError="True">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revTelephone" runat="server" ControlToValidate="txtTelephone" Display="Dynamic"
ErrorMessage="电话号码格式应为021-66798304!" ValidationExpression="\d{3}-\d{8}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td class="auto-style4" style="text-align: right">身份证号:</td>
<td class="auto-style6">
<asp:TextBox ID="txtIdentity" runat="server" Width="120px" ></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="rfvIdentity" runat="server" ControlToValidate="txtIdentity" Display="Dynamic"
ErrorMessage="请输入身份证号!" SetFocusOnError="True">*</asp:RequiredFieldValidator>
<asp:CustomValidator ID="csvIdentity" runat="server" ControlToValidate="txtIdentity" Display="Dynamic"
ErrorMessage="身份证号错误!" SetFocusOnError="True" OnServerValidate="identity"></asp:CustomValidator>
</td>
</tr>
</table>
<asp:Button ID="btnSubmit" runat="server" Text="确定" OnClick="btnSubmit_Click" />
<asp:Label ID="lblMsg" runat="server"></asp:Label>
</div>
<asp:ValidationSummary ID="vsSubmit" runat="server" ShowMessageBox="True" ShowSummary="False" DisplayMode="List"/>
</form>
</body>
</html>
Default2.aspxcs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
lblMsg.Text = "";
if (Page.IsValid)
{
lblMsg.Text = "验证通过";
}
}
protected void identity(object source, ServerValidateEventArgs args)
{
string cid = args.Value;
args.IsValid = true;
try
{
DateTime.Parse(cid.Substring(6, 4) + "-" + cid.Substring(10, 2) + "-" + cid.Substring(12, 2));
}
catch
{
args.IsValid = false;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
}
}