博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC中CRUD
阅读量:6072 次
发布时间:2019-06-20

本文共 1995 字,大约阅读时间需要 6 分钟。

今天看见页面操作中方法重载,里面提到过一点,Action处理的思路是:“从哪来回到哪里去”。

看下面代码截图

1         public ActionResult Delete(int id) 2         { 3             ViewData.Model = dbContext.ClassInfos.Find(id); 4             return View(); 5         } 6  7         [HttpPost] 8         public ActionResult Delete(int id, FormCollection collection) 9         {10            //删除数据11             ClassInfos classInfos=new ClassInfos();12             classInfos.ClassInfoName = string.Empty;13             classInfos.Id = id;14             dbContext.ClassInfos.Attach(classInfos);15             dbContext.Entry(classInfos).State=EntityState.Deleted;16             dbContext.SaveChanges();17 18             return RedirectToAction("Index");19         }

然后对应的view页面

1 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage
" %> 2 3 4 5 6 7
8
Delete 9 10 11

Are you sure you want to delete this?

12
13
ClassInfos14 15
16 <%: Html.DisplayNameFor(model => model.ClassInfoName) %>17
18
19 <%: Html.DisplayFor(model => model.ClassInfoName) %>20
21
22 <% using (Html.BeginForm()) { %>23

24 |25 <%: Html.ActionLink("Back to List", "Index") %>26

27 <% } %>28 29 30

其中主界面如下:即实现删除一行数据的功能,点击Delete,然后跳转对应的方法,实现删除功能。

点击Delete后弹出下面界面

通过审查网页元素和网页源代码对比(左边为源代码,右边为审查元素代码)

有没有发现,虽然左边的<% using(html.BeginForm()){...}%>没有将action写明,但是生成的网页中会自动填充action为 右边图中的 action="/ClassInfo/Delete/0" method="post"

默认情况下,form都已post方式提交请求。

这样就实现了“从哪里来回到哪里去”的思想

解释:点击删除提交的方法(Action)是 Delete(int id) 对应的代码url为:http://localhost:1794/Classinfos/Delete/0

页面跳转到 删除界面,即需要点击删除按钮“delete”时,提交的action同样为Delete方法,不过已Post提交,Controller中实现的方法为Delete(int id,FormCollection collection)方法,

Url为 “/ClassInfos/Delete/0” 。

 

上面知识个人的一点小见解,功能实现的一点心得,或许没能理解其中的原理,但是对于初学者来说,明白转化过程还是十分重要的。

 

转载于:https://www.cnblogs.com/zhaosw/p/5234677.html

你可能感兴趣的文章
linux下查看各硬件型号
查看>>
对象合成复用之策略模式
查看>>
linux命令之tail
查看>>
epoll的lt和et模式的实验
查看>>
Flux OOM实例
查看>>
安装DirectX SDK时出现Error Code:s1023 的解决方案
查看>>
图元的属性---小结
查看>>
什么是ccflow公文流程?如何使用ccflow开发一个公文流程?
查看>>
java工作流引擎Jflow父子流程demo
查看>>
tar命令
查看>>
验证框架Validation的用法
查看>>
CentOS 7防火墙配置
查看>>
Brewer: (CAP) Theorem
查看>>
python加解密
查看>>
win8与Linux可以和平共处
查看>>
薛峰SEO培训:学习SEO的五个步骤
查看>>
如何分布式运行mapreduce程序
查看>>
Hiding the iPhone Tab Bar with TTNavigator
查看>>
史上最全蓝屏代码!电脑蓝屏了查一下什么原因吧!
查看>>
ntp对时服务配置
查看>>