碰到两个问题:
1、由于在实体层中,MVC的Remote验证特性无法使用,故而在 Web层添加了一个ViewModel,在ViewModel中添加Remote特性,并修改以前的代码,这样就可以使用远程验证的好处了。不自己写验证而调用其Remote特性的好处在于,界面干净,节省代码,不易出错,阻止提交,逻辑可以用C#代码写。
2、但由于验证时不仅需要文件名作为参数,还需要一个当前文件的id作为参数,而验证逻辑却无法传两个参数,怎么办?
解决办法:在Controller中加一个静态私有字段,让这个字段来读取该参数。注意:必须是静态的字段。因为静态的字段在方法中被改变后,可以一直驻留在内存中,而非静态字段则不会驻留,每次重新调用都会被初始化。