Ext.NET动态创建了ComboBox和Store



我使用ast.net 1.3与ASP.NET 4.0
我想使用C#动态生成的Combobox和Store,以下是我的代码。

var data = new object[]
        {
            new object[]{"AL", "Alabama", "The Heart of Dixie"},
            new object[] { "AK", "Alaska", "The Land of the Midnight Sun"},
            new object[] { "AZ", "Arizona", "The Grand Canyon State"},
            new object[] { "AR", "Arkansas", "The Natural State"},
            new object[] { "CA", "California", "The Golden State"},
            new object[] { "CO", "Colorado", "The Mountain State"},
            new object[] { "CT", "Connecticut", "The Constitution State"}
        };
 Ext.Net.ComboBox cmb = new Ext.Net.ComboBox();
            cmb.TypeAhead = true;
            cmb.ForceSelection = true;
            cmb.DisplayField = "ItemCode";
            cmb.ValueField = "ItemName";
            cmb.MinChars = 1;
            cmb.ListWidth = 400;
            cmb.PageSize = 10;
            cmb.ItemSelector = "tr.list-item";
            Store s = new Store();
            s.AddField(new RecordField() { Name = "ItemCode", Type = RecordFieldType.String }, 0);
            s.AddField(new RecordField() { Name = "ItemName", Type = RecordFieldType.String }, 1);
            s.AddField(new RecordField() { Name = "OnHand", Type = RecordFieldType.String }, 2);

            s.SaveAllFields = true;
            s.DataSource = data;
            s.DataBind();
            cmb.Store.Add(s); 

            StringBuilder sHtml = new StringBuilder();
            sHtml.Append(" <tpl for="."><tpl if="[xindex] == 1">");
            sHtml.Append("<table class="cbStates-list" ><tr>");
            sHtml.Append("<th style="color: #2f353b !important;">ItemCode</th>");
            sHtml.Append(" <th style="color: #2f353b !important;">ItemName</th>");
            sHtml.Append("<th style="color: #2f353b !important;">OnHand</th>");
            sHtml.Append("</tr> </tpl>");
            sHtml.Append("<tr class="list-item">");
            sHtml.Append("<td style="padding:3px 0px;">{ItemCode}</td>");
            sHtml.Append("<td>{ItemName}</td>");
            sHtml.Append("<td>{OnHand}</td>");
            sHtml.Append("</tr> <tpl if="[xcount-xindex]==0">");
            sHtml.Append(" </table> </tpl> </tpl>");
            cmb.Template.Html = sHtml.ToString(); 
            Panel1.Items.Add(cmb);

如果您不绑定商店,则组合将出现在页面上。如果商店绑定,则不会显示任何内容。浏览器给出了一个错误消息。 在此处输入图像描述如何解决此问题?

    HttpProxy proxy = new HttpProxy
                {
                    Method = HttpMethod.POST,
                    Url = "../../../Handlers/BoneWL.ashx"
                };
                        // Create Reader
                        Ext.Net.JsonReader reader = new Ext.Net.JsonReader
                        {
                            Root = "plants",
                            TotalProperty = "total",
                            Fields = {
                    new RecordField("ItemCode"),
                    new RecordField("ItemName"),
                    new RecordField("OnHand") 
                }
                        };
                        // Add Proxy and Reader to Store
                        Store store = new Store
                        {
                            Proxy = { proxy },
                            Reader = { reader },
                            AutoLoad = false
                        };
                        // Create ComboBox
                        Ext.Net.ComboBox cmb = new Ext.Net.ComboBox
                        {
                            DisplayField = "ItemCode",
                            ValueField = "ItemCode",
                            TypeAhead = false,
                            LoadingText = "加载中...",
                            Width = 240,
                            PageSize = 10,
                            HideTrigger = true,
                            ItemSelector = "tr.list-item",
                            MinChars = 1,
                            Store = { store }
                        };
                        cmb.Listeners.TriggerClick.Handler = "UseDirectEvents('1');WinRowCancelEdit();";
                        cmb.Triggers.Add(new FieldTrigger() { Icon = TriggerIcon.Search });
                        cmb.TriggerIcon = TriggerIcon.Search;
                        StringBuilder sHtml = new StringBuilder();
                        sHtml.Append(" <tpl for="."><tpl if="[xindex] == 1">");
                        sHtml.Append("<table class="cbStates-list" ><tr>");
                        sHtml.Append("<th style="color: #2f353b !important;">ItemCode</th>");
                        sHtml.Append(" <th style="color: #2f353b !important;">ItemName</th>");
                        sHtml.Append("<th style="color: #2f353b !important;">OnHand</th>");
                        sHtml.Append("</tr> </tpl>");
                        sHtml.Append("<tr class="list-item">");
                        sHtml.Append("<td style="padding:3px 0px;">{ItemCode}</td>");
                        sHtml.Append("<td>{ItemName}</td>");
                        sHtml.Append("<td>{OnHand}</td>");
                        sHtml.Append("</tr> <tpl if="[xcount-xindex]==0">");
                        sHtml.Append(" </table> </tpl> </tpl>");
                        cmb.Template.Html = sHtml.ToString();
Panel1.Items.Add(cmb);

example.portal