MVC修改删除LINQ_LINQ语法基础使用示例
2017-11-13 13:57:20  By: dwtedx

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");
}


HTML代码

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


若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+