最基本的,拼接字符串在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. JS复习--更新结束

    js复习-01---03 一 JS简介 1,文档对象模型 2,浏览器对象模型 二 在HTML中使用JS 1,在html中使用<script></script>标签 2,引入外部 ...

  2. Windows综合应用

    待修改中-------------------------------------- 快捷键部分: Win+E:打开"我的电脑"E:Explot的缩写,即资源管理器. ------ ...

  3. 使用mosh取代ssh提高n2n网络连接稳定性

    上文实现了远程n2n访问树莓派,但是ssh协议在网络状况不好的时候命令会卡住.这里发现了一个mosh协议,可以增强稳定性,使用后效果明显. 背景:使用n2n之后,在比较差的网络环境下,经常会被time ...

  4. Join Attributes

    1. IWorkspaceFactory2 workspaceFactory = new ShapefileWorkspaceFactoryClass() as IWorkspaceFactory2; ...

  5. 面试题目——《CC150》链表

    面试题2.1:编写代码,移除未排序链表中的重复结点 进阶:如果不得使用临时缓冲区,该怎么解决? package cc150; import java.util.HashMap; import java ...

  6. Hbase过滤器Filter的使用心得(爬坑经验)

    Hbase 的过滤器是个好东西.. 给这种非关系型数据库本来不能复杂查询的情况得到了很好的扩展..提供了很多的帮助.. 但是Filter的种类何其之多..让人眼花缭乱.. 譬如..分页类型的PageF ...

  7. JSP与EL隐式对象

    一,JSP隐式对象 隐式对象是可以直接使用的,无需声明.因为在JSP转译为servlet文件后,会自动声明其对象. 隐式对象① 说明 out 对应JspWriter对象,其内部关联一个PrintWri ...

  8. Express知识整理

    开发实例 Express开发实例(1) —— Hello,world! Express开发实例(2) —— Jade模板引擎

  9. JSP内置对象之application对象

    虽然常把Web应用称为B/S架构的应用,但其实Web应用一样是C/S结构的应用,只是这种应用的服务器是Web服务器,而客户端是浏览器. 现在抛开Web应用直接看Web服务器和浏览器. Web服务器负责 ...

  10. JSP入门

    JSP简介 所谓JSP就是在网页文件中嵌入Java代码或JSP定义的一些标记.JSP是建立在Servlet上的,在执行时JSP容器会先将JSP文件转换成Servlet文件以及class 文件,然后再执 ...