关于 MVC 字段 默认值

以下是网友的疑问:

================================================================

Html.EditorFor(model=>Time, new{@Value='2010-01-01 00:00:00'});
怎么就不能显示出来呢?

================================================================

解决方案:

 1.直接在返回的model中处理默认值(虽然能处理,但是人家要显示给用户看啊,这招明显不管用啊)

 2.Controller 中为 model.Time=DateTime.Parse("2010-01-01 00:00:00"); (这个正解)

 3.EditorFor根据就没有可以设置显示内容格式的重载,你那样当然没用,它的第二个参数是设置ViewData值的,而不是设置显示内容的,解决办法是使用自定义template,在模板中设置内容格式,将模板名做为参数传递到第二个参数中,或者使用数据类型模板,即所有DateTime类型使用相当的模板,参考:
http://msdn.microsoft.com/zh-cn/library/ee308450(v=vs.98).aspx
或:
http://blog.sina.com.cn/s/blog_67532f7c01011zsc.html

 

关于第二种方法其实最简单实用
如下案例:

        public ActionResult Create()         {             Contacts_CSales cs = new Contacts_CSales();             cs.phone_C = "10086";//这里可以给电话参数 赋默认值             return View(cs);         }

        //         // POST: /Contacts_CSales/Create

        [HttpPost]         public ActionResult Create(Contacts_CSales contacts_csales)         {             contacts_csales.typeContacts = "渠道销售通讯录"; //这个可以处理不需要在界面上给用户看但是需要处理的默认值

            if (ModelState.IsValid)             {                 db.Contacts_CSales.Add(contacts_csales);                 db.SaveChanges();                 return RedirectToAction("Index");             }

            return View(contacts_csales);         }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值