排球计分程序(八)——验证编辑方法(Edit method)和编辑视图(Edit view)

修改代码,使得发布ReleaseDate看上去更好。打开Balls \ Ball.cs文件
using System;

using System.ComponentModel.DataAnnotations;

using System.Data.Entity;

namespace Balls.Models

{

public class Ball{

public int ID { get; set; }

public string Title { get; set; }

[Display(Name = "Release Date")]

[DataType(DataType.Date)]

[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]

public DateTime ReleaseDate { get; set; }

public string Shenglv { get; set; }

public string Rongyu { get; set; }

}

public class BallsDBContext : DbContext

{

public DbSet<Ball> Movies { get; set; }

}

}
在浏览器地址栏里追加/Balls, 浏览到Balls页面。并进入编辑(Edit)页面。
                    

MapRoute方法是使用HTTP请求路由查找到正确的控制器(controller)和行动方法,并提供了可选ID的参数。MapRoute方法也被用于通过HtmlHelpers如ActionLink的控制器,操作方法及任何路由数据,以生成URL。

public static void RegisterRoutes(RouteCollection routes)

{

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(

name: "Default",

url: "{controller}/{action}/{id}",

defaults: new { controller = "Balls", action = "Index",

id = UrlParameter.Optional }

);

}
处理 POST 请求
[HttpPost]

[ValidateAntiForgeryToken]

public ActionResult Edit([Bind(Include="ID,Shenglv,ReleaseDate,Age,Rongyu")] Movie movie)

{

if (ModelState.IsValid)

{

db.Entry(Ball).State = EntityState.Modified;

db.SaveChanges();

return RedirectToAction("Index");

}

return View(Ball);

}
接收form所post的数据,并转换所接收的Balls请求数据从而创建一个Ball对象。ModelState.IsValid方法用于验证提交的表单数据是否可用于修改(编辑或更新)一个Ball对象。如果数据是有效的数据,将保存到数据库的Ball集合(BallDBContext 实例)。通过调用BallDBContext的SaveChanges方法,新的数据会被保存到数据库。数据保存之后,代码会把用户重定向到BallsController类的Index操作方法,页面将显示列表,同时包括刚刚所做的更新。
添加搜索
public ActionResult Index(string BallGenre, string searchString)

{

var GenreLst = new List<string>();

var GenreQry = from d in db.Balls

orderby d.Genre

select d.Genre;

GenreLst.AddRange(GenreQry.Distinct());

ViewBag.movieGenre = new SelectList(GenreLst);

var Balls = from m in db.Movies

select m;

if (!String.IsNullOrEmpty(searchString))

{

Balls = Balls.Where(s => s.Title.Contains(searchString));

}

if (!string.IsNullOrEmpty(BallGenre))

{

Balls = Balls.Where(x => x.Genre == BallGenre);

}

return View(Balls);

}

时间: 2024-07-31 23:55:24

排球计分程序(八)——验证编辑方法(Edit method)和编辑视图(Edit view)的相关文章

ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

原文:ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view) 在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie.cs文件,并添加高亮行如下所示: using System; using System.ComponentModel.DataAnnotations; using System.Data.

[转]ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie.cs文件,并添加高亮行如下所示: using System; using System.ComponentModel.DataAnnotations; using System.Data.Entity; namespace MvcMovie.Models { public class Movie

总结/PSP初体验—排球计分程序1.0

要做一个排球计分程序,墨迹了很长时间才做出个的东西,过程很不爽: 功能:这个软件有两个页面,可以实现窗体A的部分变化控制窗体B的部分变化.A是操作人员使用看到的,B是投放给观众的,完全由A操控: 学到啥:对dataGridView控件纯代码添加数据有了了解: 有啥不爽: 1.感觉真的事倍功半,解决一个小问题花老长时间,一个if/else的流程对着电脑看半天也进入不了思考的状态,有个快速清晰的思路,感觉自己脑子太生锈了,不想运转: 2.还是感觉时间花太多了,好不值: 运行效果截图: 这个可以实现添

排球计分程序——简单显示比分界面

作业:作为一个观众,我希望了解某一场比赛的比分,以便了解赛况.(满意条件:精确到每一局的结果比分)排球计分程序之--用户故事. 根据我当前的能力和老师要求,我想的页面效果大概是这样: 数据库的表: 运行效果如下: 选择第三局: 已胜局数还没写出来,比赛最终结果还没写出来: 部分代码如下: public class PartResult { public int partNum { get; set; } public int resultA { get; set; } public int re

ASP.NET MVC 排球计分程序 (一)综述

---恢复内容开始--- 本篇博客主要是为了用MVC来做出一个排球的计分程序,该计分程序主要实现的功能有,将两队队员的姓名和其对应的球衣号插入数据库,根据在场上的表现,由记分员记录两队的发球,扣球,拦网等得分情况,在比赛过程中可以实现自动判断是否到达获胜比分,是否获得本场比赛的胜利.当比赛胜时.可以查询出本场的MVP,以及最佳得分员,最佳发球员等数据. 初步计划将这个文章系列分为以下几篇: 1.综述 2. 一些排球计分的基本实现方 3.需求分析与数据库设计 4.实体类和SQLHelper类的设计

ASP.NET MVC 排球计分程序 (二)一些排球计分的基本实现方式

一.连接数据库 新建一个MVC应用程序(基本) 建一个HomeController 为Index添加视图 @{ ViewBag.Title = "Index"; } <h2>Index</h2> @using(Html.BeginForm("Indexa","Home")) { <b>id:</b> @Html.TextBox("id",1); <b>name:<

新需求下的排球计分程序

暑假针对不同的需求对学期末的排球计分程序进行了重构.记录如下: 当然在做这个程序的时候,也一定会用到我们平时所学的其他技术: 1.C#语言 2.ASP.NET  MVC 3.关系数据库基础知识 4.软件工程基础知识 5.PetaPoco技术 6.JQuery,Ajax 7.UiIKit  H5框架. 8.T4模板. 需求: 作为一名教练员,我希望知道详细得分信息,以便于了队员的状态. 设计文档 在参考我们平时使用的比赛网站做出如下设计文档: 首先我们进入首页,首页我们选择业务项目,之后进入具体的

MVC开发之排球计分(八)项目开发总结

项目总结: 本章的博客主要是用mvc编写排球计分的程序,到本次博客的制作书写,本章的排球计分程序算是结束了. 在最后,来做一下最后的总结: 我们先来看一下最初的需求分析表: 计划需要总时间: 10h 小组开发   需求分析: 1h 具体设计: 1h 具体代码: 5h 代码复审: 1h 测试: 1h 总结: 1h 最终所用时间:12h 根据这个需求分析表,最近三周阶段,共用12个小时完成了这项排球计分程序设计的任务, 在代码的分析与设计大的过程中超出了预算的两个小时, 本次的程序设计使用mvc的形

排球计分程序重构(一)

前言: 上学期制作的排球计分程序,本次重构主要进行了一些功能性的完善,能够查询队伍比分,以及计分精确到队员. 已经将网站发布到我的服务器上面可以浏览 http://www.colorfulhy520.top:82/Home/Index 进入正题: 初步计划将文章系列分为以下几篇: 1.综述 2.数据库设计 3.Controller和View设计 4.代码讲解 5.总结 运用到的技术 1.Petapoco PetaPoco是一款适用于.NET应用程序的轻型对象关系映射器(ORM, Object R

ASP.NET MVC 排球计分程序 (三)需求分析与数据库设计

需求分析: 软件名称:排球计分程序 1.  需要键入比赛人员的的姓名,需要根据场上的比赛结果及时做出操作,记分员可以在记错的情况下撤销上一部操作.比赛结束,记分员应能查询到每个队伍的进球情况,以及拦网.击球等的最高分.全场MVP. 2.系统界面:两队比赛,每次有队伍得分,由记分员向系统内输入数据,将该队的分数通过单击按钮的方式加分,每次加分,将分数写入数据库.也应有减分的按钮,每次减分,写入数据库. 系统内:自动计算每队的得分情况是否达到该局胜利,如果胜利及时显示该局胜利的消息. 最后输出:每单