要实现类似这样的的功能:

在网上找到这样的示例。文章如下:

我们知道,作为Action的响应,最常见的做法是return View();也就是说,返回一个视图。但是如果我们某的操作只是要返回页面的一部分,典型的情况就是,在页面上实现局部的刷新功能。
实现局部刷新功能,以前我们是自己用javascript,解析json数据来实现的。

Action里面的代码

/// <summary>
/// 返回某个照片目前的评论消息
/// </summary>
/// <returns></returns>
//[AcceptVerbs(HttpVerbs.Post)]
[Authorize]
public ActionResult Blog(string id)
{var blogs = new[]{new {Title="评论标题",Details="我的评论",Author="陈希章",Time=DateTime.Now.ToString()},new {Title="评论标题",Details="我的评论",Author="陈希章",Time=DateTime.Now.ToString()},new {Title="评论标题",Details="我的评论",Author="陈希章",Time=DateTime.Now.ToString()},new {Title="评论标题",Details="我的评论",Author="陈希章",Time=DateTime.Now.ToString()},new {Title="评论标题",Details="我的评论",Author="陈希章",Time=DateTime.Now.ToString()}};return Json(blogs, "text/json");
}

在页面中的javascript代码

$.ajax({type: "POST",url: action + key,dataType: "json",success: function(result) {$("#blog").empty();var ol = $("<ol />");$.each(result, function(i, n) {var t = n.Title + ",(" + n.Author + "),创建于:" + n.Time + "<div>" + n.Details + "</div>";$("<li />")。append(t)。appendTo(ol);});ol.appendTo($("#blog"));}
});

这样做确实可以实现我们的功能,但太过繁琐,而且因为要在js中拼接那些div,实在是很容易出错的。
更好的做法是,首先创建一个PartialView,其实就是一个UserControl

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Web.Models.BlogItem》" %>
<table><tr><th>Ttile</th><th>Author</th><th>Details</th><th>Time</th></tr><% foreach (var item in Model) { %><tr><td><%= Html.Encode(item.Title) %></td><td><%= Html.Encode(item.Author) %></td><td><%= Html.Encode(item.Details) %></td><td><%= Html.Encode(item.Time) %></td></tr><% } %>
</table>
/// <summary>
/// 返回某个照片目前的评论消息
/// </summary>
/// <returns></returns>
//[AcceptVerbs(HttpVerbs.Post)]
[Authorize]
public ActionResult Blog(string id)
{var blogs = new Models.BlogItem[]{new Models.BlogItem(){Title="评论标题",Details="我的评论",Author="陈希章",Time=DateTime.Now},new Models.BlogItem(){Title="评论标题",Details="我的评论",Author="陈希章",Time=DateTime.Now},new Models.BlogItem(){Title="评论标题",Details="我的评论",Author="陈希章",Time=DateTime.Now},new Models.BlogItem(){Title="评论标题",Details="我的评论",Author="陈希章",Time=DateTime.Now},new Models.BlogItem(){Title="评论标题",Details="我的评论",Author="陈希章",Time=DateTime.Now}};return PartialView("BlogView", blogs);
}

这样的话,js中就只要一句话了
$("#blog").load(action + key);

文章介绍完毕。

以上文章所说的方法不是不行,但是不兼容。这应该是开发最头疼的问题,解决方法是

$.ajax({   type:"post",   cache:false,  url:action + key,   success:function(msg){   $("#BlogView").html(msg);   } });  

MVC中使用PartialView方法相关推荐

  1. 在asp.net mvc中使用PartialView返回部分HTML段

    问题链接: MVC怎样实现异步调用输出HTML页面 该问题是个常见的 case, 故写篇文章用于提示新人. 在asp.net mvc中返回View时使用的是ViewResult,它继承自ViewRes ...

  2. mvc5 返回html,在asp.net mvc中使用PartialView返回部分HTML段

    该问题是个常见的 case, 故写篇文章用于提示新人. 相信聪明的你已经知道了它俩的区别了,没错 一个用于返回整体,另一个返回局部(部分). 假设我有这样一个需求,输入用户名,然后返回相关信息.之前的 ...

  3. ASP.NET MVC中为DropDownListFor设置选中项的方法

    在MVC中,当涉及到强类型编辑页,如果有select元素,需要根据当前Model的某个属性值,让Select的某项选中.本篇只整理思路,不涉及完整代码. □ 思路 往前台视图传的类型是List< ...

  4. ASP.NET MVC中实现多个按钮提交的几种方法

    有时候会遇到这种情况:在一个表单上需要多个按钮来完成不同的功能,比如一个简单的审批功能. 如果是用webform那不需要讨论,但asp.net mvc中一个表单只能提交到一个Action处理,相对比较 ...

  5. MVC中提示错误:从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法...

    今天往MVC中加入了一个富文本编辑框,在提交信息的时候报了如下的错误:从客户端(Content="<EM ><STRONG ><U >这是测试这...&q ...

  6. MVC中使用Entity Framework 基于方法的查询学习笔记 (二)

    解释,不解释: 紧接上文,我们在Visual Studio2012中看到系统为我们自动创建的视图(View)文件Index.cshtml中,开头有如下这句话: @model IEnumerable&l ...

  7. 《从零开始学ASP.NET CORE MVC》:ASP.NET Core 中的 Main方法(5)

    本文出自<从零开始学ASP.NET CORE MVC> 推荐文章:ASP.NET Core Web 项目文件 ASP.NET Core 中的 Main方法 一个开始专心写字的人 在ASP. ...

  8. ASP.NET MVC中的模型装配 封装方法 非常好用

    下面说一下 我们知道在asp.net mvc中 视图可以绑定一个实体模型 然后我们三层架构中也有一个model模型 但是这两个很多时候却是不一样的对象来的 就拿微软的官方mvc例子来说明 微软的视图实 ...

  9. 【转】一个ASP.NET MVC中ajax调用WebApi返回500 Internal Server Error的调错方法。

    ASP.NET MVC 引入的WebApi自然且较好地满足了ajax的交互需求,但使用jQuery ajax调用WebApi返回500 Internal Server Error时却不太好查找错误.在 ...

最新文章

  1. C++11中std::future的使用
  2. Hand on Machine Learning第三章课后作业(1):垃圾邮件分类
  3. C++11特性(模板类 initializer_list)
  4. Log4j每天、每小时、每分钟定时生成日志文件
  5. rpm批量卸载所有带有Java的文件
  6. python安装email模块_Python使用SMTP模块、email模块发送邮件
  7. 回旋矩形C语言,C语言程序设计100例之(27):回旋方阵
  8. spring 2.0核心技术与最佳实践 pdf_推荐 Spring Boot 实践学习案例大全 数据缓存 和中间件 安全权限...
  9. bloomberg用法 固定收益_内部收益率的用法浅谈某保险的真实收益率
  10. CSS3秘笈复习:第十一章
  11. WPF学习笔记-如何按ESC关闭窗口
  12. 锐捷交换机配置保存到计算机,锐捷交换机常用配置命令汇总
  13. mysql jemalloc_jemalloc优化MySQL、Nginx内存管理
  14. 【2022年】浙江省专升本数学全面总结-(空间解析几何与向量代数)
  15. Emulator: Process finished with exit code -1073741515 (0xC0000135)错误
  16. stc15流水灯c语言,STC89C52单片机流水灯
  17. Groovy - Groovy ambiguous method overload
  18. C语言--正弦、余弦函数
  19. 刷题 Python: 明码
  20. 质量检验中那些不为人所知的事儿

热门文章

  1. 自动化测试发展变革——第五期魅族技术开放日现场精彩回顾
  2. Python 位运算及二进制基础知识
  3. JAVA学期总结及学期计划。
  4. Spring Data JPA多表查询
  5. Iphone如何稳定地触发半屏模式?单手模式
  6. 脖子痛、腰痛、膝盖痛、髋关节痛...教你一招立马不痛了!
  7. C#——使用DES加密文件
  8. 淘宝入会页全新升级详细内容介绍{淘宝打单发货接口}
  9. Python 实现 并行for循环
  10. 安卓浏览器 linux版本,Android修改默认浏览器为其他浏览器(UC)