来自下拉列表的唯一选定值

时间:2014-04-29 15:15:57

标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-3-areas

我有一个表 Rubriqueintermediare ,其中 rubriqueIntermediareId rubriqueId 作为表 Rubrique 中的外键:所以在我的rubrique intermediare我有一个rubrique的列表框我想比较viewdata列表值与选择的dropdownlist,以便阻止添加相同的rubriqueintermediare: 我尝试了这段代码,但它不起作用:

[HttpPost]
public JsonResult Save([DataSourceRequest] DataSourceRequest dsRequest, RubriquepointageVM vm)
{
    try
    {
        IEnumerable<RubriqueVM> listRubrique = RefDataManager.GetRefData<RubriqueVM>() as IEnumerable<RubriqueVM>;
        ViewData["CodeRubrique"] = new SelectList(RefDataManager.GetRefData<RubriqueVM>(), "RubriqueId", "CODELIBELLE");

        var Rubriques = listRubrique.AsQueryable();
         List<RubriquepointageVM> lstRubriqueinter = ServiceApplicatif.GetListe();

         if (!(listRubrique.Any(r => r.RubriqueId==(vm.RubriqueId)))){
             ModelState.AddModelError("RubriqueId", "ajout impossible ");
             return Json(ModelState.ToDataSourceResult());
         }else {
           RubriquepointageVM rub = ServiceApplicatif.Save(vm);
           return Json(new[] { vm }.ToDataSourceResult(dsRequest, ModelState));

           DataCache dataCache = new DataCache(CurrentSecurityContext.TenantID);
           dataCache.DropDataCache<RubriquepointageVM>();
            }

    }
    catch (Exception ex)
    {
        LoggerRubriquepointage.Error(string.Format("Exception : {0}", ex.Message.ToString()));
        throw new Exception("Erreur lors de l'enregistrement.");
    }
}

当我提出一个断点时,如果我从列表框中添加了相同的值,那么它只会占用其他值:

 else {
       RubriquepointageVM rub = ServiceApplicatif.Save(vm);
       return Json(new[] { vm }.ToDataSourceResult(dsRequest, ModelState));

       DataCache dataCache = new DataCache(CurrentSecurityContext.TenantID);
       dataCache.DropDataCache<RubriquepointageVM>();
     }

0 个答案:

没有答案