mvc 修改 删除 linq
Models文件夹里面可以Linq,Entity两种映射框架,也允许有ADO的操作,甚至可以ADO代码和映射代码一起操作
控制器当中允许有相同的方法名,类似在做修改时有两个Modify方法,但是MVC中没有视为合法的重载,要用不同的请求方式来区分,也就是要用特性HttpPost和HttpGet来区分两个方法
在修改页面的视图上,每个表单元素都要有name属性,而且属性值要和实体属性名一致
在控制器方法中获取视图上的表单元素值有3种方法:
1、实体自动映射,只要表单元素的name名称与实体属性名相同
2、request.Form["name名称"]
3、FormCollection,它是视图页面上表单元素的集合
控制器向视图传值的几种方式:
1、通过控制器的返回值View(参数),视图页面用Model接收传值
2、也可以在控制器中用ViewBag.属性名,视图页面上也用ViewBag.属性名接收
[HttpGet] //获取数据
public ActionResult Modify(int id)
{
Books mod=db.Books.Where(b => b.Id == id).FirstOrDefault();
if (mod != null)
{
ViewBag.data = db.Publishers.ToList();
return View(mod);
}
return Content("not found");
}
[HttpPost]//修改
public ActionResult Modify(FormCollection fc)
{
//string title = fc["title"];
string title = Request.Form["title"];
//Books book=db.Books.Where(b => b.Id == mod.Id).FirstOrDefault();
//book.Title = mod.Title;
//book.UnitPirce=....
//db.SaveChanges();
return Redirect("/Book/Index");
}
<div>
<table>
@foreach (var item in Model as List<Books>)
{
<tr>
<td>@item.Title</td>
<td><a href="/Book/Delete/@item.Id">删除</a></td>
<td><a href="/Book/Modify/@item.Id">修改</a></td>
</tr>
}
</table>
</div>
@model MvcApplication2.Models.Books
@using MvcApplication2.Models
<form action="/Book/Modify" method="post"> //Modify.cshtml
<input type="hidden" name="Id" value="@Model.Id" />
<table>
<tr>
<td>标题:</td>
<td><input name="Title" id="Title" value="@Model.Title" type="text" /></td>
</tr>
<tr>
<td>出版社:</td>
<td>
<select name="PublisherId">
@foreach (var item in ViewBag.data as List<Publishers>)
{
if(item.pid==Model.PublisherId){
<option value="@item.pid" selected>@item.pubName</option>
}
else
{
<option value="@item.pid">@item.pubName</option>
}
}
</select>
</td>
</tr>
<tr>
<td></td>
<td><input id="Submit1" type="submit" value="确定" /></td>
</tr>
</table>
</form>
mvc 修改 删除 linq的更多相关文章
- Web 1三级联动 下拉框 2添加修改删除 弹框
Web 三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...
- JavaWeb_day03_员工信息添加修改删除
day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...
- VS2010英文版修改删除、注释快捷键
VS2010英文版修改删除.注释快捷键 打开快捷键修改面板,然后修改
- Oracle 增加修改删除字段
Oracle 增加修改删除字段 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],…. ...
- Linux创建修改删除用户和组
Linux 创建修改删除用户和组 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的相关信息. 用户信息 先 ...
- 1) 上传多张图片时 ,对 $_FILES 的处理. upload ; 2)fileinput 上传多张图片. 3) 修改,删除的时候删除原来的资源,图片 update, delete , 删除 4)生成器中两个字段上传图片的时候,要修改生成器生成的代码
1上传多张图片, 要对 $_FILES进行 重新处理. //添加 public function addCourseAlbumAction() { $CourseAlbumModel = new Co ...
- oracle11g创建修改删除表
oracle11g创建修改删除表 我的数据库名字: ORCL 密码:123456 1.模式 2.创建表 3.表约束 4.修改表 5.删除表 1.模式 set oracle_sid=OR ...
- 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件
第三章 建议学习时间8小时 总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...
- SpringBoot定时任务升级篇(动态添加修改删除定时任务)
需求缘起:在发布了<Spring Boot定时任务升级篇>之后得到不少反馈,其中有一个反馈就是如何动态添加修改删除定时任务?那么我们一起看看具体怎么实现,先看下本节大纲: (1)思路说明: ...
随机推荐
- JQuery checkbox check/uncheck
想通过JQuery来check或者uncheck页面上的checkbox控件,我们可能会想到用下面的代码: $('#chk-all').on('click', function(){ var chec ...
- Java-继承,多态-0922-04
定义类Human,具有若干属性和功能:定义其子类Man.Woman: 在主类Test中分别创建子类.父类和上转型对象,并测试其特性. 父类: package com.lianxi3; public c ...
- EF架构~为导航属性赋值时ToList()的替换方案
回到目录 今天在进行EF开发时,遇到一个问题,在进行join查询时,类中的一个集合类型的导航属性,在给它赋值时,将查询出来的结果ToList()后,出错了,linq to entity不支持这种操作, ...
- Atitit 通过调用gui接口杀掉360杀毒 360卫士 qq保镖等难以结束的进程(javac# php )
Atitit 通过调用gui接口杀掉360杀毒 360卫士 qq保镖等难以结束的进程(javac# php ) 1.1. 这些流氓软件使用操作系统os提供的普通api根本就杀不掉啊1 1.2. 使用 ...
- Test Design Guidelines for Reusability
Last Updated: JAN.10.2008 From: http://safsdev.sourceforge.net/sqabasic2000/TestDesignGuidelines.htm ...
- dubbo+zookeeper简单环境搭建
dubbo+zoopeeper例子 [TOC] 标签(空格分隔): 分布式 dubbo dubbo相关 dubbo是目前国内比较流行的一种分布式服务治理方案.还有一种就是esb了.一般采用的是基于Ap ...
- 移动开发框架剖析(一) Hammer专业的手势控制
一直在写jQuery的源码教程,都没时间研究别的框架了.Hammer是我项目御用的一个手势库,早期1.x版本的swipe事件的响应不灵敏的问题而改过源码,2.x就已经更正过来,而且源码的结构也整个翻新 ...
- java中final注意的问题
public class Test{ public static void main(String[] args){ Person p = new Person(); } } /* 4.修饰的变量是一 ...
- 邻接表无向图(一)之 C语言详解
本章介绍邻接表无向图.在"图的理论基础"中已经对图进行了理论介绍,这里就不再对图的概念进行重复说明了.和以往一样,本文会先给出C语言的实现:后续再分别给出C++和Java版本的实现 ...
- 动态分配的顺序线性表的十五种操作—C语言实现
线性表 定义:是最常用的,也是最简单的数据结构,是长度为n个数据元素的有序的序列. 含有大量记录的线性表叫文件 记录:稍微复杂的线性表里,数据元素为若干个数据项组成,这时把一个数据元素叫记录 结构特点 ...