【发布时间】:2013-03-13 09:08:17
【问题描述】:
所以我有一个完整的方法,我在整个网站上都使用它:
public PartialViewResult GetBlogEntries(int itemsToTake = 5)
{
...
return PartialView("_BlogPost", model);
}
现在我想从我的 javascript 中以 JSON 形式获取它。
public JsonResult GetBlogPostJson()
{
var blogEntry = GetBlogEntries(1);
var lastEntryId = GetLastBlogEntryId();
return Json(new {Html = blogEntry, LastEntryId = lastEntryId}, JsonRequestBehavior.AllowGet);
}
想法是这样得到它:
$.ajax({
url: '/Blog/GetBlogPostJson',
dataType: 'json',
success: function (data) {
var lastEntryId = data.LastEntryId;
var html = data.Html;
...
}
});
问题是这当然不会产生一个字符串,而是一个 PartialViewResult。
问题是,我怎样才能将 PartialViewResult 解析成可以用 JSON 发回的 html?
【问题讨论】:
-
如果我错了请纠正我,你想生成 HTML,然后从这个 HTML 中获取一个 Id,最后以 JSON 格式发送 Id 和 HTML?
-
是和不是。 GetBlogEntries() 方法创建了一个局部视图,我从网页上的各个位置调用该视图。但是,它不会在任何地方打印出 ID。所以我需要单独得到它。然后将 html 和 id 发送给调用者。客户端上的 javascript 将确保仅在有新的博客条目时才获取新的博客条目。
标签: javascript c# jquery asp.net-mvc asp.net-mvc-4