0

IRepositoryBase

IQueryable<T> GetAll(Expression<Func<T, bool>> predicate = null, params Expression<Func<T, object>>[] includes);

RepositoryBase

 public IQueryable<T> GetAll([OptionalAttribute][DefaultParameterValueAttribute(null)]Expression<Func<T, bool>> predicate, params Expression<Func<T, object>>[] includes)     
 {
   var set = CreateSet().IncludeMultiple(includes);
   return (predicate == null) ? set : set.Where(predicate);            
 }

IAccountService

IEnumerable<int> GetAllReferenceIds();

AccountService

public IEnumerable<int> GetAllReferenceIds()       
{    
  var accountOwners = _accountOwnerRepository.GetAll();
  return accountOwners.Select(m => m.ReferenceId).ToList();
}

AccountController

public ActionResult ReferenceIdPartial()      
{

ViewData["AccountOwners"] = accountOwnerService.GetAllReferenceIds();

return PartialView();

}

MVCパーシャルビュー-devexpressコンボボックスMVC拡張機能

settings.Properties.Columns.Add("ReferenceId", "Reference Id", Unit.Percentage(100));

エラー-列ReferenceIdが見つかりません

GetReferenceIds()を介してintのコレクションを送信しています

コントローラから列を呼び出す方法はありますか?AccountOwner(a => a.ReferenceIds、select ReferenceIds)のようなもの-列名とデータを取得できるはずです。

御時間ありがとうございます。

4

1 に答える 1

0

これは暗闇の中でのショットです。実際には、「列名とデータを取得できるはずです」という最後の文しか理解できません。コレクションをコンボボックスにバインドすると想像できます(わかりません)。 DevExpressコンボボックス拡張機能)コンボボックスコントロールは、値のコレクション()だけでなく、プロパティ名とプロパティ値のペアを持つクラスオブジェクトのコレクションを必要とします。だから、あなたは触れることなく試すことができます:intAccountService

public ActionResult ReferenceIdPartial()      
{
    ViewData["AccountOwners"] = accountOwnerService.GetAllReferenceIds()
        .Select(i => new { ReferenceId = i });

    return PartialView();
}

ViewData["AccountOwners"]これで、(匿名の)オブジェクトのコレクションが保持されます。各オブジェクトには、サービスから返されたIDからフェッチされReferenceIdた値で呼び出される1つのプロパティがあります。i

于 2012-11-06T22:24:33.990 に答える