我必须在我的应用程序中将数据从json文件加载到ddl,对于ex
我的应用程序中有countries.json,
与州和城市相同,
[{"label":"US Dollars (USD)","country":"US","value": "USD"},"label":"CA Dollars (CAD)","country":"CA","value": "CAD"},{"label":"UK Pounds (GBP)","country":"UK","value": "GBP"}]
我这样做是为了减少往返次数,并直接从json文件加载数据。
任何人都可以建议我如何在mvc应用程序中执行此操作。
答案 0 :(得分:0)
前段时间我写了一篇博文,使用api端点填充了json的下拉列表,但填充部分仍然是相同的
http://jnye.co/Posts/12/creating-cascading-dropdownlists-using-mvc-4-and-jquery
您希望浏览每个项目,并向您添加<option>
下拉列表
var dropdown = $('#ddl');
//clear drop down of old states
stateDropdown.empty();
//retrieve data for ddl...
var data = ...
$.each(data, function (i, item) {
//Create new option
var option = $('<option />').html(item.label);
//append state states drop down
dropdown .append(option);
});
注意:我不是IDE,所以请原谅任何拼写/命名错误
答案 1 :(得分:0)
jQuery可以做得很好,但如果你将很多JavaScript对象绑定到你的UI,你可能想看看像Knockout.js这样的框架
var ddl = $('<select></select>');
for(var i = 0; i < yourJsonObj.length; i++) {
var currency = yourJsonObj[i];
ddl.append($('<option></option>').val(currency.value).text(currency.label));
}
$('body').append(ddl);
编辑: 我注意到你指定了MVC标签而不是JavaScript。 JavaScript可以原生地理解JSON,因此最容易在客户端上执行此操作。如果您想在C#Model或Controller中执行此操作,您可能希望使用类似json.NET的库来轻松地将JSON解析为所需类型。