ASP.NET MVC入门——检查 Edit 方法和编辑视图

在本部分中,你将检查电影控制器的生成的 Edit 操作方法和视图。 但首先我们要 diversion,使发布日期看起来更好。 打开 Models\Movie.cs 文件,并添加以下突出显示的行:

using System;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;

namespace MvcMovie.Models
{
    public class Movie
    {
        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 Genre { get; set; }
        public decimal Price { get; set; }
    }

    public class MovieDBContext : DbContext
    {
        public DbSet<Movie> Movies { get; set; }
    }
}

你还可以将日期区域性指定为以下形式:

[Display(Name = "Release Date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public DateTime ReleaseDate { get; set; }

我们将在下一教程中介绍 DataAnnotationsDisplay 特性指定要显示的字段名称的内容(本例中应为“Release Date”,而不是“ReleaseDate”)。 DataType特性指定数据的类型,在本例中为日期,因此不显示存储在字段中的时间信息。 Chrome 浏览器中的 bug 所需的 DisplayFormat 属性不正确地呈现日期格式。

运行应用程序并浏览到 Movies 控制器。 将鼠标指针停留在 编辑 链接上可查看它所链接到的 URL。

EditLink_sm

编辑链接由 Html.ActionLink Views\Movies\Index.cshtml视图中的方法生成:

@Html.ActionLink("Edit", "Edit", new { id=item.ID })

 

Html对象是一个使用WebViewPage基类上的属性公开的帮助器。 ActionLink利用帮助器的方法,可以轻松地动态生成链接到控制器操作方法的 HTML 超链接。 方法的第一个参数 ActionLink 是要呈现的链接文本 (例如 <a>Edit Me</a>) 。 第二个参数是要调用的操作方法的名称,在此示例中 (Edit) 操作。 最后一个自变量是在此示例中生成路由数据 (的 匿名对象 ,ID 为 4) 。

上图中显示的生成链接是 http://localhost:1234/Movies/Edit/4 。 在 应用 _ Start\RouteConfig.cs 中建立的默认路由 () 采用 URL 模式 {controller}/{action}/{id} 。 因此,ASP.NET 将转换为 http://localhost:1234/Movies/Edit/4 Edit 控制器操作方法的请求,该方法的 Movies 参数 ID 等于4。 从 应用程序 _ Start\RouteConfig.cs 文件中检查以下代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值