所以我是新來的ASP/.NET/C#遊戲,所以一定會感謝您可能能夠提供給我的任何幫助。我目前有一個名爲「ProjectController.cs」的控制器,它有一個「索引」操作,應該將「項目」列表傳遞給視圖。我已經完成並創建了控制器,操作,API調用和視圖。但是,根據提供的屏幕截圖 - 我遇到了API調用本身的錯誤 - 我試圖將模型列表返回給控制器以傳遞給視圖。我通過從http://10000ft.com api加載JSON響應來完成此操作。任何想法爲什麼我在試圖根據模型創建/驗證新的項目對象時不斷陷入困境?如何將JSON響應綁定到ASP MVC中的模型?
ProjectController.cs:
namespace MVCProject1.Controllers
{
public class ProjectController : Controller
{
// GET: Project
public ActionResult Index()
{
List<Models.Project> projects = APICalls.GetAllProjects();
return View(projects);
}
}
}
項目控制器/索引操作查看:
@{
ViewBag.Title = "Project Index";
}
@model IEnumerable<MVCProject1.Models.Project>
@foreach (var project in Model)
{
@project.name <br />
}
ProjectModel.cs:
namespace MVCProject1.Models
{
public class Project
{
public int id { get; set; }
public bool archived { get; set; }
public object archived_at { get; set; }
public string description { get; set; }
public string guid { get; set; }
public string name { get; set; }
public object parent_id { get; set; }
public object phase_name { get; set; }
public string project_code { get; set; }
public string secureurl { get; set; }
public string secureurl_expiration { get; set; }
public int settings { get; set; }
public int timeentry_lockout { get; set; }
public string ends_at { get; set; }
public string starts_at { get; set; }
public object deleted_at { get; set; }
public string created_at { get; set; }
public string updated_at { get; set; }
public bool use_parent_bill_rates { get; set; }
public string thumbnail { get; set; }
public string type { get; set; }
public bool has_pending_updates { get; set; }
public string client { get; set; }
public string project_state { get; set; }
}
}
APICalls.cs:
namespace MVCProject1
{
public class APICalls
{
private const string baseUrl = "https://api.10000ft.com/api/v1/{0}?&auth=temp12345=&{1}";
#region PROJECTS
public static List<Models.Project> GetAllProjects()
{
string requestUrl = string.Format(baseUrl, "projects", "&per_page=200");
var resultString = RestClient.makeAPICall(requestUrl);
var resultObject = JsonConvert.DeserializeObject(resultString);
List<Models.Project> projects = new List<Models.Project>();
foreach (var project in resultObject.data)
{
projects.Add(project);
}
return projects;
}
#endregion
}
}
個
RESTClient.cs:
namespace MVCProject1
{
public static class RestClient
{
public static string makeAPICall(string requestUrl)
{
var syncClient = new WebClient();
var content = syncClient.DownloadString(requestUrl);
Trace.WriteLine(content.ToString());
return content;
}
}
}
occures你做了什麼錯誤? –
在您的問題中包含錯誤的詳細信息,而不是其中的部分圖像。 –
錯誤我收到:類型Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'的一個例外發生在System.Core.dll但在用戶代碼中沒有處理 其他信息:關於「的System.Collections中最好重載方法匹配。 Generic.List .List(int)'有一些無效參數 –
radiantstatic