首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用IDataErrorInfo 2.2实现IDataErrorInfo

用IDataErrorInfo 2.2实现IDataErrorInfo
EN

Stack Overflow用户
提问于 2009-06-20 05:52:39
回答 1查看 173关注 0票数 0

我正在移动一个项目,只是数据层,这个项目使用的是MVC 1.0和acess mdb :S

现在我要转到SubSonic + Sql server,一切都很好,除非我尝试实现到类IDataErrorInfo以获得验证消息,否则我总是收到每条错误消息2次。

我有一个由subsonic生成的表类:MyTable,然后扩展它。

代码语言:javascript
复制
public partial class myTable : IDataErrorInfo{
public string this[string columnName]{
    get{
        switch (columnName.ToUpperInvariant()){
            case "MYFIELD":
                if (string.IsNullOrEmpty(myField)){
                    return "Incorrect MyField";
                }
                break;
            case "ANOTHER":
                if (string.IsNullOrEmpty(myField)){
                    return "Incorrect Another";
                }
                break;
        }
        return "";
    }
}

public string Error{
    get{
        return "";
    }
}

}

在我的控制器中,我在post操作中添加了以下代码:

代码语言:javascript
复制
public class mycontroller...{
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult myAction(int id, MyTable data)
{
    try
    {
        UpdateModel(data, new[] { "MyField","Another" });
        data.Save();
        return RedirectToAction("Admin");
    }
    catch (Exception ex)
    {
        //ViewData["Error"] = ex.Message;
        return View(data);
    }
}

我的观点有一个摘要生成为Html.ValidationSummary(“注意:”)

当我得到无效数据时,我的摘要得到的错误是它的2倍:

注意:

不正确MyField

不正确MyField

不正确的另一个

不正确的另一个

我不想重写验证表,这里有很多视图(大约130)。我认为问题出在亚音速的某个地方,但我找不到:S,请帮帮我:)

提前向您致以最良好的问候和感谢。

无法捕捉此错误:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-21 15:01:44

您使用的是哪个版本的SubSonic?v2.0.3中的IIRC、Save()可以两次调用验证方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1021049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档