请教一个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
出现不能添加的原因应该是你的时间添加的不对!
[解决办法]
[解决办法]
数据库里面时间类型和金钱类型的为null时,你前台显示会出默认的值,你先看看默认值是什么,在窗体加载的时候判断下,如果是这个值的时候,文本框的值为空呗