1

私はコンボボックスと呼ばれるignite uiコンポーネントを使用しようとしています.igniteuiページでこのチュートリアルに従おうとしていました.

こちらがリンクです: http://www.igniteui.com/combo/aspnet-mvc-helper

チュートリアルではリポジトリ ファクトリを使用しており、linq でエンティティ フレームワーク モデルを使用しています。igGrid などの ignite ui のコンポーネントの一部を既に使用しており、このビデオのチュートリアルに従いました。

http://www.infragistics.com/products/jquery/grid/videos/iggrid-entity-framework-model を使用して、グリッドを ef モデルにバインドします。

コンボボックスへのデータのバインディングに問題があります。iggrid のビンディングに対して同じアプローチをとろうとしていますが、いくつか問題があります..

私の見解では、私はこれを持っています..

 @(Html.Infragistics().ComboFor(item=>item.IDCliente)

                .Width("270px")
                .DataSourceUrl(Url.Action("cliente-combo-data"))
                .ValueKey("ID")
                .TextKey("Name")
                .DataBind()
                .Render()
            )

コントローラーで私はこれを持っています:

    [ComboDataSourceAction]
    [ActionName("cliente-combo-data")]
    public ActionResult ComboData()
    {
        return View(LicenciamentoMVC.Models.ClienteModel.GetListaClientes());
    }

そして私のクライアントクラスにはこれがあります:

 public class ClienteModel
{
    private static Cliente entity;
    public static IQueryable<Cliente> GetListaClientes()
    {
        MvcApplication1Context db = new MvcApplication1Context();

        var customers = from c in db.Clientes
                        orderby c.IDCliente descending
                        where c.Rem==0
                        select c;

        return customers.AsQueryable<Cliente>();
    }

私に与えられているエラーは次のとおりです。見つかりました (using ディレクティブまたはアセンブリ参照がありませんか?)

どのような変更を行う必要がありますか、または最善の方法は、エンティティ モデルを使用する代わりにリポジトリに移動することです...事前に感謝します..

4

1 に答える 1

2

解決策は、ビューでコンボボックスを初期化する方法を変更することでした。私は igniteui チュートリアルに従っていました。彼らがコンボに配置した例は、コンボボックスの使用方法の例/チュートリアルでは少し複雑でした....ヘルパーを使用したmvcのコードは次のとおりです

@(Html.Infragistics().Combo().
              ID("comboClientes").
              TextKey("Nome").
              AutoComplete(false).
              FilteringType(ComboFilteringType.Local).
              RenderMatchItemsCondition(ComboRenderMatchItemsCondition.StartsWith).
              ValueKey("IDCliente").DataSourceUrl(Url.Action("clientes-combo")).
              DataBind().
              Render())

ありがとう

于 2014-02-06T11:23:15.463 に答える