最基本的,拼接字符串在Literal里面显示表,IsPostBack,增删改查基本,?传值 Request接收

LinQ to SQL类

在Default主页里面拖入Literal控件再加入一个按钮,后台写代码

函数类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; /// <summary>
/// CarDA 的摘要说明
/// </summary>
public class CarDA
{
private DataClassesDataContext context; public CarDA()
{
context = new DataClassesDataContext();
}
public List<Car> selec()
{
return context.Car.ToList();
}
public Car select(string code)
{
var query = context.Car.Where(p => p.Code == code);
return query.First();
}
public void delete(string code)
{
var query = context.Car.Where(p => p.Code == code);
if (query.Count() > )
{
Car data = query.First();
context.Car.DeleteOnSubmit(data);
context.SubmitChanges();
}
}
public void insert(Car data)
{
Productor prod = new Productor();
Brand brand = new Brand();
brand.Brand_Code=data.Brand;
brand.Brand_Name=data.Name;
brand.Prod_Code=data.Code;
brand.Brand_Memo=data.Name; prod.Prod_Code = brand.Prod_Code;
prod.Prod_Name = brand.Brand_Name;
context.Productor.InsertOnSubmit(prod);
context.Brand.InsertOnSubmit(brand);
context.Car.InsertOnSubmit(data);
context.SubmitChanges();
}
public void Update(Car save)//string code, string name,string brand, DateTime time,decimal oil,int powers,int exhaust,decimal price,string pic
{
var query = context.Car.Where(p => p.Code == save.Code);
if (query.Count() > )
{
Car data = query.First();
data.Code = save.Code;
data.Name = save.Name;
data.Brand =save.Brand;
data.Time = save.Time;
data.Oil =save.Oil;
data.Powers = save.Powers;
data.Exhaust = save.Exhaust;
data.Price = save.Price;
data.Pic = save.Pic;
context.SubmitChanges();
}
}
}
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
{
protected void Page_Load(object sender, EventArgs e)
{
List<Car> list =new CarDA().selec(); string s = "<table width=100% border=1><tr><td>编号</td><td>名称</td><td>价格</td><td>操作</td></ tr>";//</ table>";
foreach (Car data in list)
{
s += "<tr><td>" + data.Code + " </td><td><a href='Default2.aspx?code=" + data.Code + "'>" + data.Name + "</a></td><td>" + data.Price + "</td><td><a href='delete.aspx?code=" + data.Code + "'>删除</a> <a href='Default2.aspx?code=" + data.Code + "'>修改</a></td></tr>";
}
s += "</ table>";
Literal1.Text = s;
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("insert.aspx");
}
}

____________________________________________________我是华丽的分割线____________________________________________________

点击添加按钮 添加:

因为这里牵扯到主外键关系,先要加主键才能建外键,所以为了能运行 用了点手段, 点击按钮触发 Response.Redirect("insert.aspx");转到 insert页面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class insert : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
Car data = new Car();
data.Code = TextBox2.Text;
data.Name=TextBox3.Text;
data.Brand=TextBox4.Text;
data.Time = Convert.ToDateTime(TextBox5.Text);
data.Oil= Convert.ToDecimal(TextBox6.Text);
data.Powers = Convert.ToInt32(TextBox7.Text);
data.Exhaust = Convert.ToInt32(TextBox8.Text);
data.Price = Convert.ToDecimal(TextBox9.Text);
data.Pic = TextBox10.Text;
new CarDA().insert(data);
Response.Redirect("Default.aspx");
}
}

点击insert页面中的提交 执行完添加函数后会转入Default.aspx主页面 Response.Redirect("Default.aspx");

____________________________________________________我是华丽的分割线____________________________________________________

删除:

每行后面有个删除按钮,超链接点击后导入删除界面,执行删除跳回主页面 ?code把 code=后面的值传走

在指定页面Request["code"]接收,Request["code"]是Object类,如果要用请先转换类型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class delete : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
new CarDA().delete(Request["code"].ToString());
Response.Redirect("Default.aspx");
}
}

____________________________________________________我是华丽的分割线____________________________________________________

修改:

修改与添加类似,需要传值,根据传入的值查询具体类,修改后保存

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)
{
if (!IsPostBack)
{
Car data = new CarDA().select(Request["code"].ToString());
TextBox2.Text = data.Code;
TextBox3.Text = data.Name;
TextBox4.Text = data.Brand.ToString();
TextBox5.Text = data.Time.ToString();
TextBox6.Text = data.Oil.ToString();
TextBox7.Text = data.Powers.ToString();
TextBox8.Text = data.Exhaust.ToString();
TextBox9.Text = data.Price.ToString();
TextBox10.Text = data.Pic;
}
} protected void Button1_Click(object sender, EventArgs e)
{
Car data = new Car();
data.Code =TextBox2.Text;
data.Name =TextBox3.Text ;
data.Brand = TextBox4.Text;
data.Time =Convert.ToDateTime(TextBox5.Text) ;
data.Oil = Convert.ToDecimal(TextBox6.Text);
data.Powers =Convert.ToInt32( TextBox7.Text) ;
data.Exhaust = Convert.ToInt32(TextBox8.Text);
data.Price = Convert.ToDecimal(TextBox9.Text);
data.Pic = TextBox10.Text;
new CarDA().Update(data);
Response.Redirect("Default.aspx");
}
}

这里要注意,查询要加入IsPostBack条件判定,否则点击提交按钮后会刷新页面,我们修改的数据会随刷新页面覆盖,刷新后重新执行查询并覆盖我们之前输入的数据,这个数据虽然在页面上没有显示更改,但是在后台已经被查出来的数据覆盖,所以我们无论怎么修改都是存的查出来的数据,相当于没改.

为了避免这种情况我们用IsPostBack,他会比对如果重复刷新了就不执行查询了.

WebForm增删改查的更多相关文章

  1. Webform(Linq增删改查)

    Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(1)Linq创建添加LINQ to SQL类,类名需与要连接的数 ...

  2. Asp.net WebApi 项目示例(增删改查)

    1.WebApi是什么 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET ...

  3. Web API开发实例——对产品Product进行增删改查

    1.WebApi是什么 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET ...

  4. webApi实现增删改查操作

    1.WebApi是什么 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET ...

  5. winform 配置文件增删改查

    winform 配置文件是  App.config webform   的配置文件 是web.config 其实基本操作都一样    设置个配置文件  全局文件 访问者个配置文件  对这个配置文件增删 ...

  6. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  7. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  8. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查

    系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...

  9. 通过Java代码实现对数据库的数据进行操作:增删改查

    在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao  xingming    xue ...

随机推荐

  1. mybatis一个怪异的问题: Invalid bound statement not found

    ssm中报一下错误: invalid bound statement (not found): me.tspace.pm.dao.userdao.getuser    at org.apache.ib ...

  2. IBatis存储过程返回值

    <parameterMaps> <parameterMap id="delVersionBagInfoParam" class="DelVersionB ...

  3. Oracle表格建立

    Oracle学习第一天:学习了如何在网页上建立表空间,以及在关联性表格上建立表格,填充表格,学习了如何建立自己的表空间.效果如下:

  4. centos ADSL 拨号上网设置

    下面主要介绍一下,在CentOS命令行环境下如何配置 ADSL 联网: 1.确保安装了网卡并能正常运行,使用命令查看一下网卡状态: [root@localhost simon]# /sbin/ifco ...

  5. margin和padding的区别

    目前web2.0已经越来被人们认可,因为喜欢搞web开发的人员不得不硬着头皮去学习web2.0的标准,其中很重要的一条就是新的布局规则,div+css.以前基本上是用table布局的,这种传统的方式简 ...

  6. 各大主流.Net的IOC框架性能测试比较

    Autofac下载地址:http://code.google.com/p/autofac/ Castle Windsor下载地址:http://sourceforge.net/projects/cas ...

  7. vertx核心类之VertxImpl

    在Vert.x中,Vertx接口是最为重要的一个接口,vertx-core的基础功能都在此接口中提供.这篇文章中我们就来分析一下Vertx接口体系的内部实现以及创建流程.本文对应Vert.x的版本为  ...

  8. tyvj1125 JR's chop

    描述 JR有很多双筷子.确切的说应该是很多根,因为筷子的长度不一,很难判断出哪两根是一双的.JR家里来了K个客人,JR留下他们吃晚饭.加上JR,JR的girl friend和JR的朋友内涵,共K+3个 ...

  9. tyvj1106 登山

    背景     在很久很久以前,有一个动物村庄,那里是猪的乐园(^_^),村民们勤劳.勇敢.善良.团结……    不过有一天,最小的小小猪生病了,而这种病是极其罕见的,因此大家都没有储存这种药物.所以晴 ...

  10. codevs2645 Spore

    题目描述 Description 某陈和某Y 最近对一个游戏着迷.那是Electronic Arts 今年发布的优秀的模拟经营类游戏,Spore. 在Spore 中,玩家将经历从单细胞生物到星系的统治 ...