0

エディタテンプレートを使用して、剣道グリッドで使用するドロップダウンリストを作成しようとしています。

私のStatesEditor.cshtmlには次のものが含まれています。

@(Html.Kendo().DropDownList()
.Name("State") 
.DataValueField("StateID") 
.DataTextField("ShortName") 
.BindTo((System.Collections.IEnumerable)ViewData["states"]))

私のコントローラーには次のものがあります。

public ActionResult Index()
    {
        var db = new ACoreEntities();
        db.Configuration.ProxyCreationEnabled = false;
        var states = db.StateLookups;

        var stateList = states.Select(state => state.ShortName);

        ViewData["states"] = stateList;


        return View("~/Views/System/PMarkup/Index.cshtml");
    }

実際のグリッドでは、行の[編集]ボタンをクリックすると、51個の未定義のエントリを含むドロップダウンリストが表示されます。

4

1 に答える 1

1

最終的にStateモデルを作成し、ActionResultでコードを次のように変更しました。

ViewData["states"] = new ACoreEntities()
            .StateLookups
            .Select(s => new State
            {
                Id = s.StateID,
                ShortName = s.ShortName
            })
            .OrderBy(s => s.ShortName);
于 2013-03-25T17:28:44.850 に答える