读书人

请问一个model初始值及页面显示有关问

发布时间: 2012-06-15 19:37:05 作者: rapoo

请教一个model初始值及页面显示问题
假如一个Model , User类里面有:string Name, DateTime AddDate, int Age,string Sex 字段
----
控制器里有 public ActionResult ShowUserInfo(){
  
  User u = new User{Name="wang",Sex="Man"};//我这里面没有给AddDate,Money赋值,结果一加断点,自动会有0001/1/1 ,0之类的
  return View(u);
}
---------
那页面:

@Html.TextBoxFor(m => m.AddDate)

@Html.TextBoxFor(m => m.Age)


就显示一个我不希望出现的值,因为这两个是留着前台输入的,我希望页面最初的时候这两input是为空的。

请教帮忙指点一下。



[解决办法]
因为你的实体类中肯定是这样定义的

C# code
 private DateTime addday; public DateTime AddDay {     get { return addday; }     set { addday = value; } } 而0001/1/1 ,0分别为datetime int 的默认值.
[解决办法]
汗 我加了可空类型 看的不仔细啊。
C# code
private [color=#FF0000]DateTime?[/color] addday;public [color=#FF0000]DateTime?[/color] AddDay{     get { return addday; }     set { addday = value; }}
[解决办法]
DateTime?可空
int?可空
这样。
[解决办法]
0001/1/1 是因为你的时间没有获取的到,你在控制器里添加

model.AddDate=DateTime.Today;


出现0的原因是因为你的试图中没有给Age赋值,他添加的时候会根据你的模型实例化来默认为0

出现不能添加的原因应该是你的时间添加的不对!
[解决办法]
探讨

DateTime?可空
int?可空
这样。

[解决办法]
数据库里面时间类型和金钱类型的为null时,你前台显示会出默认的值,你先看看默认值是什么,在窗体加载的时候判断下,如果是这个值的时候,文本框的值为空呗

读书人网 >asp.net

热点推荐