最基本的,拼接字符串在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. CSS之A标签

    a标签,超级链接 a是英语anchor锚的意思. a标签常用的就是三个属性: 1        <a href="网址" title="悬停文本" tar ...

  2. js分页小结

     今天解决了JS分页的问题1 页码 给每页的内容套一个相同的类名 通过选择器加上.length或者.size() 来获得总页数2当前页的页码可以使用each(function(index,DOMsss ...

  3. Java学习笔记12

    循环 打印一个字符串(例如: "Welcome to Java!") 100次,就需要吧下面的输出语句重复写100遍,这是相当繁琐的: System.out.println(&qu ...

  4. ubuntu sudo update与upgrade的作用及区别

    ubuntu sudo update与upgrade的作用及区别 入门linux的同志,刚开始最迫切想知道的,大概一个是中文输入法,另一个就是怎么安装软件.本文主要讲一下LINUX安装软件方面的特点. ...

  5. struts2 s:file标签使用及文件上传例子

      <s:form action="uploadaction" method="post" enctype="multipart/form-da ...

  6. python gutter area / 设置断点、行号右边代码左边的空白栏

    最后通过在设置里搜索 关键词:show 找到的.== Edito > General > Gutter Icons Show gutter icons

  7. FlexPaper+SWFTool+操作类=在线预览PDF

    引言 由于客户有在线预览PDF格式的需求,在网上找了一下解决方案,觉得FlexPaper用起来还是挺方便的,flexpaper是将pdf转换为swf格式的文件预览的,所以flexpaper一般和swf ...

  8. [小程序]那些icons

    摘要 为了提供更友好的提示信息,会使用icon+信息的方式,向用户提示当前操作的成功,失败或者一些警告信息.小程序也为我们定义了一些icons,足够大部分情况的使用了. 那些icons 我们新建一个名 ...

  9. [Search Engine] 搜索引擎技术之网络爬虫

    随着互联网的大力发展,互联网称为信息的主要载体,而如何在互联网中搜集信息是互联网领域面临的一大挑战.网络爬虫技术是什么?其实网络爬虫技术就是指的网络数据的抓取,因为在网络中抓取数据是具有关联性的抓取, ...

  10. php 301 重定向 转自http://www.icoa.cn/a/475.html

    内容简介 有时候我们的有多个域名指向同一个网站,或者我们更换了网站的网址,那么怎么样将原来网站的流量导入到新网址中呢,那么我们可以用301重定向的方式,而且这种方式是对搜索引擎比较友好的方式.如果首页 ...