zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    win10 uwp 弹起键盘不隐藏界面元素
    win10 uwp 存放网络图片到本地
    win10 uwp 存放网络图片到本地
    sublime Text 正则替换
    sublime Text 正则替换
    win10 uwp 绘图 Line 控件使用
    win10 uwp 绘图 Line 控件使用
    AJAX 是什么?
    什么是 PHP SimpleXML?
    PHP XML DOM:DOM 是什么?
  • 原文地址:https://www.cnblogs.com/yiran123456/p/5543826.html
Copyright © 2011-2022 走看看