关于在MVC中view中设置默认值,可以象如下设置:

1、关于VIEWMODEL的部分

如果是C#  6.0,网上资料查到说可以

public int X { get; set; } = 

如果语法不支持,只能改回.net 2.0的写法。

public class UserType
{
private int _UserType = 1;
public int UserTypeID
{
get
{
return this._UserType;
}
set
{
this._UserType = value;
}
}
}

需要纠正一下的是,在属性上通过Attribute加[DefaultValue()]的方法是无效的。

//无效
[DefaultValue()]
public int UserTypeID { get; set; }

2、关于Controller部分

如果想在View中获取设置的默认值,那么我们需要返回一个new type()。

        public ActionResult Create()
{
ViewBag.MaxOrder = userTypeRepository.MaxOrder();
return View(new UserType());
}

这样通过查看HTML源代码,可以得到正确结果。

<input data-val="true" data-val-number="字段 UserTypeID 必须是一个数字。" data-val-required="UserTypeID 字段是必需的。" id="UserTypeID" name="UserTypeID" type="hidden" value="11" />

如果不new一个对象,是不能得到默认值的。

附注:

如果我们不对属性设置默认值,MVC会帮我们自动填充默认值。如下:

//ViewModel部分
public int UserTypeID { get; set; } //Controller部分
ViewBag.MaxOrder = userTypeRepository.MaxOrder();
return View(new UserType()); //查看HTML,MVC自动将int设为了0
<input data-val="true" data-val-number="字段 UserTypeID 必须是一个数字。" data-val-required="UserTypeID 字段是必需的。" id="UserTypeID" name="UserTypeID" type="hidden" value="" />

所以我们实际可以这样使用:

VIEWMODEL

    public class UserType
{
public int UserTypeID { get; set; } [Required(ErrorMessage = "请输入用户类型名称")] public string TypeName { get; set; }
[Required(ErrorMessage = "请输入用户类型排序")]
[Range(-, , ErrorMessage = "请输入正确的排序")]
public int TypeOrder { get; set; }
}

Controller

        public ActionResult Create()
{
ViewBag.MaxOrder = userTypeRepository.MaxOrder();
return View();
}

Save

        public void SaveData(UserType UserType)
{
met_UserType model = UserType.MapTo<met_UserType>(); if (UserType.UserTypeID == )
{
db.Entry<met_UserType>(model).State = EntityState.Added;
LogRepository.Add(string.Format("添加了用户类型:{0}", UserType.TypeName));
}
else
{
db.Entry<met_UserType>(model).State = EntityState.Modified;
LogRepository.Add(string.Format("编辑了用户类型:{0}", UserType.TypeName));
}
db.SaveChanges();
}

C#属性默认值设置的更多相关文章

  1. HTML标签CSS属性默认值汇总

    HTML标签CSS属性默认值,在你需要还原默认值的时候比较有用. 以前一直在找这份文档,今天偶然在网上看到了.除了inline和block的定义,主要是要注意body|h1~h6|blockquote ...

  2. typescript 关于class属性类型定义被属性默认值覆盖的问题及解决方式

    问题来源于 React.component的第二个参数的类型定义问题,我构建了以下简化demo,方便描述问题: class P<STATE> { public state: STATE; ...

  3. php与js中函数参数的默认值设置

    php函数参数默认值设置: <?phpfunction test($val=3){   echo $val."<br/>";}test(11);test();?& ...

  4. js方法参数默认值设置

    这里的默认值设置 很容易以为和php相似 function(v1,v2="test") { alert(v2); } 但这样是不对的,js方法,如需传参,甚至可以不用预定义(也就是 ...

  5. sqlserver中GUID的默认值设置

    sqlserver中GUID的默认值设置 YID uniqueidentifier not null default (NEWSEQUENTIALID()), //有序GUID(只能用于表设计的时候的 ...

  6. JIRA描述默认值设置

    JIRA描述默认值设置 Setting a Default Value in the Description Field 转自https://confluence.atlassian.com/jira ...

  7. typescript 属性默认值使用箭头函数 this指向问题

    今天注意到前端小伙伴用react 定义component class的方法的时候是通过箭头函数的方式,表示好奇. class Test extends React.Component { public ...

  8. yii2中textarea中的默认值设置

    1. view中显示文本域的位置 <?= $form->field($goods_model, 'goods_introduce')->textArea(['class'=>' ...

  9. asp.net EF model中的默认值设置

    在做数据库规划时,通常会规划一些系统字段,也就是由数据库本身自行指定默认值到这个字段上,创建新的“创建时间(CreateDate)”字段就会常常这样设计. 如果希望能有默认值,且让.net 程序在新增 ...

随机推荐

  1. IOS PushMeBaby(是一款用来测试ANPs的开源Mac项目)

    ● PushMeBaby是一款用来测试ANPs的开源Mac项目 ● 它充当了服务器的作用,用法非常简单 ● 它负责将内容提交给苹果的APNs服务器,苹果的APNs服务器再将内容推送给用户 的设备 ● ...

  2. MySQL:数据库入门篇1

    1,什么是数据库?——存储数据的仓库 数据库技术是计算机应用领域中非常重要的技术,它产生于20世纪60年代末,是数据管理的最新技术,也是软件技术的一个重要分支. 简单的说,数据库就是一个存放数据的仓库 ...

  3. ACM-ICPC(9/26)

    DP专题 多阶段决策:递推——逆推方式(难度较大),记忆化搜索方式,考虑当前决策层(cur) 01背包:变形众多,两种方式,一是考虑阶段的方式, ,另一种是刷表法 题目推荐: bzoj 4247 De ...

  4. UVA 12333 大数,字典树

    题意:给一个数字,看他最小是第几个菲波那切数列的前缀. 分析: 大数模板就是吊哦. 将菲波那切数列前500个数字放到字典树上.注意插入的时候不能像普通一样,只在尾节点处标记,而是一路标记下去. #in ...

  5. ZOJ 2386 容斥原理

    题意:给出n个数,和m(1<=m<=200 000 000),求1~M中能被这n个数其中任意一个数整除的个数: 分析:n范围很小,可以枚举选择被哪些数整除,被奇数个整数整除加m/这个n个数 ...

  6. ssh公钥

    想要将本地电脑的文件传到github上,必须要通过建立本地电脑与github帐号的ssh公钥才行. 方式: 用命令ssh-keygen产生ssh公钥(之后一直按回车就好),然后cd到~/.ssh目录, ...

  7. 写到 HTML 文档

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  8. Openresty最佳案例 | 第4篇:OpenResty常见的api

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616660 本文出自方志朋的博客 获取请求参数 vim /usr/example/exa ...

  9. TCP套接字

    端口的概念 每个电脑一根网线,但是你挂着QQ的同时还可以浏览网页.两个不同应用的数据在同一根网线里是如何传输的呢?根据七层互联网模型,这个功能由运输层(TCP是运输层主要协议)实现.怎么实现呢,在网络 ...

  10. Mbatis错误信息整理

        ***每存在一对接口和xml文件,必须在xml文件中定义好mapper标签及namespace     ***每对接口必须和xml文件名必须一致 <mapper>标签中的names ...