这是我从中返回列表的函数。该列表在从此方法发送时具有值。
ch
这是从上述方法调用的动作结果。
while (ch!= EOF){...}
这是我的模特:
public ActionResult searchItemReview(string searchItem, int userId)
{
if (userId > 0) {
saveReviewHistory(searchItem, userId);
}
string cxCnet = "004414622588908206393:to_4_i9qoqs";
string cxTrustedReviews = "004414622588908206393:mfbtsoruifs";
allReviewList revList = new allReviewList();
RootObject urlLinks = googleSearch.getSearchResults(searchItem, cxCnet);
reviewCnet searchItemRevCnet = scrapData.scrapSitesCnet(urlLinks);
RootObject urlLink = googleSearch.getSearchResults(searchItem, cxTrustedReviews);
reviewCnet searchItemRev = scrapData.scrapSiteMobileTrustedreviews(urlLink);
searchItemRevCnet.trustedReview = searchItemRev.trustedReview;
revList.reviewList.Add(searchItemRevCnet);
return RedirectToAction("searchReview", "home", revList);
}
我无法弄清楚这是怎么回事。如果我在模型中没有构造函数,我会收到错误,说对象引用不是对象的实例....
感谢任何形式的帮助。
答案 0 :(得分:0)
您无法在URL重定向中传递此类对象。可能值得尝试的一件事是将列表存储在TempData中,如下所示:
TempData["revList"] = revList;
return RedirectToAction("searchReview", "home");
然后在家庭控制器的searchReview Action中:
var revList= TempData["revList"] as allReviewList;
答案 1 :(得分:0)
或者,您可以使用JSon或XML将数据解析为字符串,并在需要使用它的位置反序列化它。如果您想使用Javascript在客户端使用此数据,这将是一种更好的方法。
public ActionResult searchItemReview(string searchItem, int userId)
{
.
.
.
var str = Json.Encode(revList);
return RedirectToAction("searchReview", "home", str);
}
如果你需要客户端处理数据,那么它会更好,否则尼克的方法会更好。