求 Asp.net mvc ajax 无刷新更新最新消息

长腿爸爸 2011-08-25 12:28:12
最近需要用到的一个效果,类似新浪微薄更新消息的效果。
我想使用Asp.net mvc ajax + Jquery,可不知道怎么实现。
请求高人指点。
...全文
333 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用楼主 jaylianyu 的回复:]
最近需要用到的一个效果,类似新浪微薄更新消息的效果。
我想使用Asp.net mvc ajax + Jquery,可不知道怎么实现。
请求高人指点。
[/Quote]

asp.net mvc自身没有能力做基于状态的web应用程序,所有企业应用交互都要靠ajax编程才能很好地维系状态,除此之外没有别的方法。
长腿爸爸 2011-08-31
  • 打赏
  • 举报
回复

/** 简单整理了今天做的asp.net mvc中实现自动刷新的方法。
* 2011年8月31日20:04:46
*/

1、主页Js部分:使用setInterval定时执行
<script src="@Url.Content("~/jQuery/jquery-1.6.min.js")" type="text/javascript"></script>
<script type="text/javascript">
//最新消息每5秒刷新一次
setInterval(function () {
$.ajax({
url: '@Url.Action("HotNews", "Controller名称")', //异步请求Action
data: "id=@Model.id", //参数Id(可多个参数:data: "id=@Model.id&name=@Model.Name",)
type: "POST",
success: function (result) {
$("#partialContainer").html(result);
}
});
}, 5000);
</script>

页面中使用DIV接受返回的内容(.cshtml)
<div id="partialContainer">
</div>


2、异步请求的Action(.Controller)

[Description("最新消息(异步刷新调用)")]
public ActionResult HotNews(string id)
{
var contentList = new List<ContentListViewModel>();
var Contents = ContentService.GetHotNews(id, 3);//这里获取最新3条记录
if (Contents != null && Contents.Any())
{
contentList.AddRange(Contents.OrderByDescending(c => c.CreateTime)
.Select(h => new ContentListViewModel
{
Id = h.Id,
Name = h.Name,
Description = h.Description, 50
});
}
return View(contentList);
}


3、Action对应对应页面(.cshtml)

@model List<Website.ViewModel.ContentListViewModel>
@{
ViewBag.Title = "";
Layout = null;
}
@if (Model != null && Model.Any())
{
foreach (var hot in Model)
{
<div class="hotNewsContent m10">
<h1>
@Html.ActionLink(hot.Name, "ContentDetail", "Controller名称", new { id = hot.ContentId }, null)
</h1>
<p>
@hot.Description
@Html.ActionLink("...详细", "ContentDetail", "Controller名称", new { id = hot.Id }, new { @class = "contentMore" })
</p>
</div>
}
}
else
{
<div class="hotNewsContent m10">
<h1>
<a href="#">暂无最新消息</a></h1>
<p>
 
</p>
</div>
}
长腿爸爸 2011-08-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lmaohuanl 的回复:]
MVC2
http://www.open-china.net/blog/116937.html
[/Quote]

感谢,有些帮助
SeanDing1989 2011-08-26
  • 打赏
  • 举报
回复
action里查询出数据,拼装个json(这个根据需要来拼装) 不嵌套表只用自带的tojson()就可以。
然后 view里 jquery解析遍历返回的这个json 然后拼接html
threenewbee 2011-08-25
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110802/14/f7ddf0f2-d3db-4e09-9f76-7645180faf08.html

参看 (8)使用JSON和jQuery

子夜__ 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]

http://topic.csdn.net/u/20110802/14/f7ddf0f2-d3db-4e09-9f76-7645180faf08.html

参看 (8)使用JSON和jQuery
[/Quote]
+N

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧