• 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>

  • 相关阅读:
    eclipse不能反编译 eclipse中Source not found解决方法
    3. copy 使用及示例
    pgbench 使用介绍及示例
    1. 将 TDSQL 接入已经在使用的 HDFS
    1.PGbadger 慢日志分析工具
    1. pg_dump 使用及示例
    5.6.10 HDFS DN 节点扩容
    关于 PG CVE202221724 漏洞处理
    2.pg_dumpall 使用及示例
    4.pg_bulkload 数据加载使用及示例
  • 原文地址:https://www.cnblogs.com/yiran123456/p/5543826.html
Copyright © 2020-2023  润新知