值不在COMBOBOX中填充,即使它是从MVC触发的值

时间:2013-09-30 05:25:07

标签: asp.net-mvc asp.net-mvc-4 extjs extjs-mvc extjs4.2

我是EXTJS的新手。

我正在使用xxx.js文件中的EXTJS向我的html页面添加一个新组合,并从MVC控制器中获取带有样本信息的值。

在调试MVC应用程序时,它在发送来自EXTJS的URL:xxxx / getSite时发送样本信息。

但它没有显示从Controller获取的值。我正在添加以下我正在使用的代码。

请让我知道我的错误。

My Ext JS Code:

 var siteidStore = new Ext.data.JsonStore({
reader: new Ext.data.JsonReader({
fields: ['SiteName','SiteId']
}),
root: 'Site', 
proxy: new Ext.data.HttpProxy({
url: 'Site/getSite',
method: "POST", 
type: 'ajax', 
reader: 'json' 
}),
autoLoad: true
}); 


var combo = Ext.create('Ext.form.field.ComboBox', { 
queryMode: 'local',
store: siteidStore, 
fieldLabel: 'Site ID',
name: 'siteid',
displayField: 'SiteName',
valueField: 'SiteId',
triggerAction: 'all',
typeAhead: false, 
forceSelection: true,
emptyText: 'Select Site',
hiddenName: 'SiteId',
selectOnFocus: true 
});

来自Controller的MY MVC Appln代码:

publicActionResult getSite()
{
List<Combo> siteid = newList<Combo>();
siteid.Add(newCombo(1, "IND"));
siteid.Add(newCombo(2, "USA"));
siteid.Add(newCombo(3, "UK")); 
return Json(new
{
Site = siteid,
}, JsonRequestBehavior.AllowGet);
}

输出我的C#代码或Json:

{"Site":[{"SiteName":"IND","SiteId":1},{"SiteName":"USA","SiteId":2},{"SiteName":"UK","SiteId":3}]}

1 个答案:

答案 0 :(得分:0)

你可能忘了

renderTo:Ext.getBody()

在组合框内...