【发布时间】:2012-09-02 15:45:21
【问题描述】:
我在我的模型中使用远程属性来检查重复的页面标题,如下所示
public class Page
{
[Remote("CheckDuplicate", "Page", ErrorMessage = "Title already taken")]
public string Title { get; set; }
}
在控制器中,我根据“Check”结果返回 JsonResult 数据,如下所示:
public JsonResult CheckDuplicate(string Title)
{
var result = db.Pages.Where(a => a.Title == Title).Count() == 0;
return Json(result, JsonRequestBehavior.AllowGet);
}
这在 Create 操作中运行良好,但问题是,它限制我编辑现有页面,因为它正在检查相同的查询。
如何解决这个问题?请给我一些建议
【问题讨论】:
-
我不确定我是否完全理解你的问题——你能详细说明一下吗?为什么您的编辑视图有问题?为什么对 Create 和 Edit 应用相同的远程验证会出现问题?
-
@Lasse Christiansen - sw_lasse:请参阅远程验证应用于模型属性 标题 因此,每当我对模型进行操作时,它都会检查此操作。
-
@Lasse Christiansen - sw_lasse 请参阅,在创建表单中检查重复标题(返回真/假),这没关系。但是在编辑中,如果我使用相同的标题进行更新,它会再次检查具有 "待编辑的标题" 的重复标题,并显示标题已被占用。这就是问题
-
我明白了,谢谢 - 我现在发布了一个可能的解决方案 :)
标签: asp.net-mvc-3 model controller action remote-validation