首页 新闻 赞助 找找看

在学习使用ViewModel,大家看看小弟是哪里出错了,谢谢~~

0
悬赏园豆:15 [已解决问题] 解决于 2012-08-27 13:15

还是附几张图,不然我怕说不清楚

 

(controller)

Index.cshtml

WriteMessage.cshtml

ViewModel可能做的不是很好,但是我认为它没有出错,应该是在Controller里面出的错,但是还是没有找到错误原因。下面是报错信息。

akangmaker的主页 akangmaker | 初学一级 | 园豆:163
提问于:2012-08-16 21:18
< >
分享
最佳答案
0

我的理解是ViewModel就是一个模型而已,定义了某个model而已,不需要在里面加上初始化这样的函数。不知道是不是这个初始化函数造成的,你可以简化下ViewModel。

1 public class MessageViewModel
2 {
3     public string SenderName {get; set;}
4     public string ReceiverName {get; set;}
5 }

后,再试试。

收获园豆:15
bevisliu | 菜鸟二级 |园豆:278 | 2012-08-16 22:53

在显示数据的时候是没有问题的,只有在提交数据操作的时候才报错,所以我觉得是controller里有问题,但还是没找出来

akangmaker | 园豆:163 (初学一级) | 2012-08-17 00:40
其他回答(3)
0

给MessageViewModel里加一个无参数的构造函数

public MessageViewModel(){}
麒麟.NET | 园豆:3614 (老鸟四级) | 2012-08-17 09:01
0

楼上回答正确,WriteMessage 方法需要一个 MessageViewModel 类型的参数,系统会采用 MessageViewModel 的无参构造函数来实例化。

Launcher | 园豆:45045 (高人七级) | 2012-08-17 09:17

加了一个无参的构造函数以后,,之前那个报错没有了,但是又出现另外一个报错,

 

未将对象应用设置到对象的实例

你看看我大概是在哪些地方没写对的呢,谢谢~~

支持(0) 反对(0) akangmaker | 园豆:163 (初学一级) | 2012-08-19 10:27

@akangmaker: MessageViewModel 的属性的初始值依赖于你的有参构造函数赋值,因此当使用无参构造函数的时候,这些属性并没有初始值,比如 Message 属性,因此,你不能在没有给 Message 属性赋值的情况下直接引用 Message 对象的属性。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2012-08-20 09:18
0

或者你的message类没有无参构造函数

┢┦偉 | 园豆:1240 (小虾三级) | 2012-08-17 11:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册