次のモデル オブジェクトを作成しました:-
namespace MvcApplication1.Models
{
public class listofpack
{
public string packageName { get; set; }
public string packageId { get; set; }
}
}
次のようにコントローラーにその値を設定しています:-
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
using (var client = new WebClient())
{
var query = HttpUtility.ParseQueryString(string.Empty);
query["j_username"] = "kermit";
query["hash"] = "9449B5ABCFA9AFDA36B801351ED3DF66";
query["loginAs"] = "admin";
query["loginAs"] = User.Identity.Name;
var url = new UriBuilder("http://localhost:8080/jw/web/json/workflow/package/list");
url.Query = query.ToString();
string json = client.DownloadString(url.ToString());
var model = new JavaScriptSerializer().Deserialize<listofpack>(json);
return View(model);
// return Content(json, "application/json");
}
}
その後、ビューで次のようにモデルをループしようとしています:-
@model IEnumerable<MvcApplication1.Models.listofpack>
@{
ViewBag.Title = "Home Page";
}
@foreach(var item in Model) {
@Html.ActionLink(item.packageId.ToString(), "about", "Home", new { id = "crm"},null)
}
しかし、ビューを実行すると、次のエラーが発生します:-
The model item passed into the dictionary is of type 'MvcApplication1.Models.listofpack', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[MvcApplication1.Models.listofpack]'.
ブラジル
:::アップデート:::: - - - - - - - - - - - - - - - - - - - - - -------------------------------------------------- -------------------------------------------------- -------------------
私はコントローラコードを次のように更新しました:-
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
using (var client = new WebClient())
{
var query = HttpUtility.ParseQueryString(string.Empty);
query["j_username"] = "kermit";
query["hash"] = "9449B5ABCFA9AFDA36B801351ED3DF66";
query["loginAs"] = "admin";
query["loginAs"] = User.Identity.Name;
var url = new UriBuilder("http://localhost:8080/jw/web/json/workflow/package/list");
url.Query = query.ToString();
string json = client.DownloadString(url.ToString());
var model = new JavaScriptSerializer().Deserialize <List<listofpack>>(json);
return View(model);
}
}
そしてビューで: -
@model List<MvcApplication1.Models.listofpack>
@Model.Count();
@foreach(var item in Model) {
@Html.ActionLink(item.packageId.ToString(), "about", "Home", new { id = "crm"},null)
}
.count()
しかし問題は、ビューに 5 つの jason オブジェクトが渡されるはずなのに、ビューに何も表示されず、ゼロが返されることです。では、何がうまくいかないのでしょうか?? よろしくお願いします