C#属性默认值设置
关于在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#属性默认值设置的更多相关文章
- HTML标签CSS属性默认值汇总
HTML标签CSS属性默认值,在你需要还原默认值的时候比较有用. 以前一直在找这份文档,今天偶然在网上看到了.除了inline和block的定义,主要是要注意body|h1~h6|blockquote ...
- typescript 关于class属性类型定义被属性默认值覆盖的问题及解决方式
问题来源于 React.component的第二个参数的类型定义问题,我构建了以下简化demo,方便描述问题: class P<STATE> { public state: STATE; ...
- php与js中函数参数的默认值设置
php函数参数默认值设置: <?phpfunction test($val=3){ echo $val."<br/>";}test(11);test();?& ...
- js方法参数默认值设置
这里的默认值设置 很容易以为和php相似 function(v1,v2="test") { alert(v2); } 但这样是不对的,js方法,如需传参,甚至可以不用预定义(也就是 ...
- sqlserver中GUID的默认值设置
sqlserver中GUID的默认值设置 YID uniqueidentifier not null default (NEWSEQUENTIALID()), //有序GUID(只能用于表设计的时候的 ...
- JIRA描述默认值设置
JIRA描述默认值设置 Setting a Default Value in the Description Field 转自https://confluence.atlassian.com/jira ...
- typescript 属性默认值使用箭头函数 this指向问题
今天注意到前端小伙伴用react 定义component class的方法的时候是通过箭头函数的方式,表示好奇. class Test extends React.Component { public ...
- yii2中textarea中的默认值设置
1. view中显示文本域的位置 <?= $form->field($goods_model, 'goods_introduce')->textArea(['class'=>' ...
- asp.net EF model中的默认值设置
在做数据库规划时,通常会规划一些系统字段,也就是由数据库本身自行指定默认值到这个字段上,创建新的“创建时间(CreateDate)”字段就会常常这样设计. 如果希望能有默认值,且让.net 程序在新增 ...
随机推荐
- Python Notes | Python 备忘笔记
[ File IO ] parameters used in the file IO: 该参数决定了打开文件的模式:只读,写入,追加等.所有可取值见如下的完全列表.这个参数是非强制的,默认文件访问模式 ...
- 【luogu P3275 [SCOI2011]糖果】 题解
题目链接:https://www.luogu.org/problemnew/show/P3275 把不等式 A > B 转化成 A - B >= 1或者 B - A <= -1再差分 ...
- Android学习笔记_72_Spinner的用法
一.普通 1. <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android= ...
- 【办公】Microsoft Office 2016 专业增强版下载及永久激活-亲测分享
Win7 x64,安装 Office 2016. 1. 下载 Office 2016,用迅雷网上下载飞快.(这里分享我的下载链接,2.39G用迅雷分分钟就下好了) 2. 按 此博客 ,安装激活工具. ...
- 配置隐私协议 - iOS
根据苹果隐私协议新规的推出,要求所有应用包含隐私保护协议,故为此在 App 中添加了如下隐私协议模块. 首次安装 App 的情况下默认调用隐私协议模块展示相关信息一次,当用户点击同意按钮后,从此不再执 ...
- Qt学习交流(广告)
最近全面学习QT与c++,希望同行能够指教,于是打算建个群QQ群:85439482,欢迎大家,本群主要专注于QT皮肤库积累,软件架构以及标准c++学习.
- window.location.href url含中文乱码问题
(1).页面中先对中文进行编码. 如:window.location.href = url+"&groupName=" + encodeURI(encodeURI(grou ...
- poj 3694 Network : o(n) tarjan + O(n) lca + O(m) 维护 总复杂度 O(m*q)
/** problem: http://poj.org/problem?id=3694 问每加一条边后剩下多少桥 因为是无向图,所以使用tarjan缩点后会成一棵树并维护pre数组 在树上连一条边(a ...
- git merge最简洁
一.开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支 git checkout devgit pullgit checkout mastergit merge devgit p ...
- 【php】php 生僻知识点认知
资料引用来源:http://www.runoob.com/php/php-tutorial.html 表单提交中, 变量名中的点和空格被转换成下划线.例如 <input name=" ...