ASP.NET MVC模型绑定——绑定部分字段

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;


namespace Xautjzd.Models
{
    [Bind(Exclude="CollectionStationId, ContactInfo ")]       //排除一部分字段,只绑定模型中的部分字段
    public class ServeStation
    {
        [Key]
        [DisplayName("服务站编号")]
        public string  ServeStationId { get; set; }


        [DisplayName("服务站")]
        [Required]
        public string  ServeStationName { get; set; }


        [DisplayName("集货点编号")]
        [Required]
        public string CollectionStationId { get; set; }


        [DisplayName("站长")]
        [Required]
        public string  ServeStationManager { get; set; }


        [DisplayName("联系方式")]
        [Required]
        public string  ContactInfo { get; set; }
        
        [DisplayName("乡镇")]
        [Required]
        public string  Town { get; set; }


        [DisplayName("总站名称")]
        [Required]
        public string  StationName{ get; set; }


        [DisplayName("所管辖区业务经理")]
        [Required]
        public string  RegionBusinessManager { get; set; }


        [DisplayName("所管辖区总经理")]
        [Required]
        public string  StationManger { get; set; }


        [DisplayName("备注")]
        [Required]
        public string  Note { get; set; }


    }
}

Bind虽可以限制绑定的字段,但是模型验证却无法通过,因为模型验证在Submit后Action执行前完成,所以就会无法通过ModelState.IsValid验证值判断到底验证是否成功。

尽管如此,我们还是可以通过ModelState["字段名称"]语句来判断是否发生了错误,但如此做会让ASP.NET MVC变得很不方便。

于是乎ASP.NET MVC的Controller类提供了TryUpdateModel方法来解决这个问题,eg:

if(!TryUpdateModel(serveStation))
{
       //验证失败
       return View();
}
db.saveChanges();
return View("Index");

注:可用ModelState.addModelError("模型字段名","验证失败的错误信息");来手动添加验证失败时的错误提示信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值