mvc学习-编辑提交需要注意-mvc重点

 

示例代码:

复制代码
// GET: /Movies/Edit/5
public ActionResult Edit(int? id)
{
    if (id == null)
    {
        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }
    Movie movie = db.Movies.Find(id);
    if (movie == null)
    {
        return HttpNotFound();
    }
    return View(movie);
}

// POST: /Movies/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for 
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include="ID,Title,ReleaseDate,Genre,Price")] Movie movie)
{
    if (ModelState.IsValid)
    {
        db.Entry(movie).State = EntityState.Modified;
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(movie);
}
复制代码

注意下面的代码:Bind(Include="ID,Title,ReleaseDate,Genre,Price")] Movie movie  第一次见,发现可以这样写。

 链接:https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-basic-crud-functionality-with-the-entity-framework-in-asp-net-mvc-application#overpost

 

请注意第二个 Edit 操作方法的前面是 HttpPost 特性。 此属性指定的重载Edit可以仅针对发出的 POST 请求调用方法。 您可以应用HttpGet属性与第一个编辑方法,但是,它们是不必要,因为它是默认值。 (我们将引用的操作方法的隐式分配HttpGet属性为HttpGet方法。)绑定属性是黑客可以防止过度发布到您的模型数据的另一个重要的安全机制。 在你想要更改的绑定属性中,应仅包含属性。 你可以阅读过多发布和中的绑定属性我过多发布安全说明。 在本教程中使用简单模型中,我们将绑定模型中的所有数据。 ValidateAntiForgeryToken属性用于防止请求伪造,并使用成对出现@Html.AntiForgeryToken()在编辑视图文件 (Views\Movies\Edit.cshtml),如下一部分所示:

@Html.AntiForgeryToken() 生成必须匹配隐藏的窗体防伪令牌Edit方法的Movies控制器。你可以阅读更多有关跨站点请求伪造 (也称为 XSRF 或 CSRF) 在我的教程MVC 中的 XSRF/CSRF 防护

 

 

https://docs.microsoft.com/zh-cn/aspnet/mvc/overview/getting-started/introduction/examining-the-edit-methods-and-edit-view

这个教程有关于验证信息国际的部分,需要认真学习下。

同事教程内容非常丰富,需要多看看。

posted on   荆棘人  阅读(185)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示