【问题标题】:How to populate DropDown using Json string from Web Api (MVC)如何使用来自 Web Api (MVC) 的 Json 字符串填充 DropDown
【发布时间】:2016-03-04 12:09:26
【问题描述】:

我正在使用 API 获取国家/地区列表。

以下链接显示JSON的国家/地区:

http://ws.postcoder.com/pcw/PCW45-12345-12345-1234X/country?format=json

使用以下代码访问 JSON 对象。

System.Net.WebClient wc = new System.Net.WebClient();
var response = wc.DownloadString("http://ws.postcoder.com/pcw/PCW45-12345-12345-1234X/country?format=json"); 

但是我在访问它时遇到了一些问题。我想使用这个response 变量来填充这些国家/地区的DropDown

注意:我正在调用 API 来获取国家/地区列表。我想通过使用 Api 的响应在此处返回 SelectList。之后我想使用这个 SelectList 来填充 View 上的 DropDown

【问题讨论】:

标签: json api asp.net-mvc-4


【解决方案1】:
var jsonResponse = System.Net.WebClient.wc.DownloadString("YourApiUrl"); // you need to parse your json 
dynamic Data = Json.Decode(jsonResponse); 

假设您的 api 结果类似于 {"Id":"101","Name":"Ravi Bhushan"},{"Id":"102","Name":"Abcd"} 等。

List<SelectListItem> List = new List<SelectListItem>();

foreach (var x in Data) {
   List.Add (new SelectListItem() {
      Text = x.Name,
      Value = x.Id
    });             
}
return List;// return list to view then bind your ddl with..

现在您可以像这样绑定下拉列表了

@Html.DropDownList("yourDropdown", Model.List) // examples

@Html.DropDownListFor(M => M.yourDropdown, new SelectList(Model.List,"Value", "Text")) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-25
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2011-06-28
    相关资源
    最近更新 更多