首先,新建一个MVC类型的Web项目:

然后在Model文件夹下定义一个Student实体:

public class Student
{
public int ID { get; set; }
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
}

然后新建一个Student控制器:

using JsonDataWithMVC.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace JsonDataWithMVC.Controllers
{
public class StudentController : Controller
{
// GET: Student
public ActionResult Index()
{
return View();
} /// <summary>
/// 通过Json返回数据到前端
/// </summary>
/// <returns></returns>
public JsonResult _StudentList()
{ List<Student> stuModel = new List<Student>()
{
new Student() {
ID=,
Name="曹操",
Age=,
Sex="男"
},
new Student()
{
ID=,Name="孙权",Age=,Sex="男"
}
}; return Json(stuModel,JsonRequestBehavior.AllowGet);
}
}
}

创建对应的Index视图:

@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
@*在视图中加载分部视图*@
@Html.Partial("_StudentList")
</div>
</body>
</html>

相对应的_StudentList分部视图:

@model IEnumerable<JsonDataWithMVC.Models.Student>
<table class="myTable">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
<th>Sex</th>
</tr>
</thead>
<tbody> </tbody>
</table>
@*通过Json返回数据到前端*@
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript"> $(document).ready(function () {
//前台通过Jquery中的getJson方法,调用控制器中的方法,加载数据
$.getJSON("/Student/_StudentList", function (data) {
var tr;
//把每一行的数据加到table中
//注意:js中智能提示不完全:i < data.length;,,data[i].Name....
for (var i = ; i < data.length; i++) {
tr = $("<tr/>");
tr.append("<td>" + data[i].ID + "</td>");
tr.append("<td>" + data[i].Name + "</td>");
tr.append("<td>" + data[i].Age + "</td>");
tr.append("<td>" + data[i].Sex + "</td>");
//通过css找到table,把数据绑定到table中
$(".myTable").append(tr);
} }) })
</script>

编译一下:修改路由为Student控制器,Index方法,运行,我们就可以看到结果了

然后工作中还会遇到直接在视图中加载分部视图。这里我用jquery的load方法,来做,请看我方法二:

在控制器中添加一个方法:

  /// <summary>
/// 返回分部视图
/// </summary>
/// <returns></returns>
public PartialViewResult _StudentListInfo()
{
List<Student> stuModel = new List<Student>()
{
new Student() {
ID=,
Name="曹操",
Age=,
Sex="男"
},
new Student()
{
ID=,Name="孙权",Age=,Sex="男"
}
};
return PartialView(stuModel);
}

然后添加对应的视图:

@model  IEnumerable<JsonDataWithMVC.Models.Student>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Sex</th>
<th>Age</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.ID</td>
<td>@item.Name</td>
<td>@item.Sex</td>
<td>@item.Age</td>
</tr>
} </tbody>
</table>

接着,我在Index视图中,通过Jquery的load方法加载局部视图:

@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div id="myDIV"> @*方法一 :在视图中加载分部视图*@
@*@Html.Partial("_StudentList")*@ </div> <script src="~/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
//方法二,通过Jquery的load方法,直接加载分部视图
$(document).ready(function () {
//注意这里的#myDIV,是CSS选择器
$("#myDIV").load("/Student/_StudentListInfo").show(); })
</script>
</body>
</html>

运行程序,之后,得到的是相同的结果:

总结:这个文章主要是记录自己工作中遇到的问题,前端的CSS,js不熟悉,加以巩固!!!

MVC5中,加载分部视图,常见的方式的更多相关文章

  1. MVC学习系列6--使用Ajax加载分部视图和Json格式的数据

    Ajax的应用在平时的工作中,很是常见,这篇文章,完全是为了,巩固复习. 我们先看看不使用json格式返回分部视图: 先说需求吧: 我有两个实体,一个是出版商[Publisher],一个是书[Book ...

  2. MVC学习七:Razor布局之加载分部视图【PartialView】

    Partial View 顾名思义就是Html代码片段,应用于此HTML代码多次被页面加载时使用.(类似于WebForm程序中的用户控件) 注:PartialView和正常的View页面在访问时没有任 ...

  3. Spring中加载xml配置文件的六种方式

    Spring中加载xml配置文件的六种方式 博客分类: Spring&EJB XMLSpringWebBeanBlog  因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装 ...

  4. Spring中加载ApplicationContext.xml文件的方式

    Spring中加载ApplicationContext.xml文件的方式 原文:http://blog.csdn.net/snowjlz/article/details/8158560 1.利用Cla ...

  5. [Android] Android ViewPager 中加载 Fragment的两种方式 方式(二)

    接上文: https://www.cnblogs.com/wukong1688/p/10693338.html Android ViewPager 中加载 Fragmenet的两种方式 方式(一) 二 ...

  6. [Android] Android ViewPager 中加载 Fragment的两种方式 方式(一)

    Android ViewPager 中加载 Fragmenet的两种方式 一.当fragment里面的内容较少时,直接 使用fragment xml布局文件填充 文件总数 布局文件:view_one. ...

  7. 在ASP.NET MVC中加载部分视图的方法及差别

    在视图里有多种方法可以加载部分视图,包括Partial() .Action().RenderPartial().RenderAction().RenderPage()方法.下面说明一下这些方法的差别. ...

  8. 基于layer封装的异步加载分部视图弹出层

    背景:之前一直用的artdialog,但是样式不是很好看,后来偶然看到layer,觉得不错,但是对于.net mvc来说,不能像artdialog一样弹出分部视图是很难受的.所以下面的方法就解决了. ...

  9. iOS 从xib中加载自定义视图

    想当初在学校主攻的是.NET,来到公司后,立马变成java开发,之后又跳到iOS开发,IT人这样真的好么~~  天有不测风云,云还有变幻莫测哎,废话Over,let's go~ 新学iOS开发不久,一 ...

随机推荐

  1. 完美实现类似QQ的自拍头像、上传头像功能!(Demo 源码)

    现在很多下载客户端程序都需要设定自己头像的功能,而设定头像一般有两种方式:使用摄像头自拍头像,或者选择一个图片的某部分区域作为自己的头像. 一.相关技术 若要实现上述的自拍头像和上传头像的功能,会碰到 ...

  2. 人人都是 DBA(IV)SQL Server 内存管理

    SQL Server 的内存管理是一个庞大的主题,涉及特别多的概念和技术,例如常见的 Plan Cache.Buffer Pool.Memory Clerks 等.本文仅是管中窥豹,描述常见的内存管理 ...

  3. 前端自动化测试工具doh学习总结(一)

    前言 项目中需要用到前端自动化测试,自己被当作一个探针研究了下目前用的比较多的web自动化测试工具.一开始研究的是的selenium,但由于项目使用了大量的dijit控件,写起testCase来很费劲 ...

  4. Python自动化测试(1)-自动化测试及基本技术手段概述

    生产力概述 在如今以google为首的互联网时代,软件的开发和生产模式都已经发生了变化, 在<参与感>一书提到:某位从微软出来的工程师很困惑,微软在google还有facebook这些公司 ...

  5. JavaScript函数柯里化

    函数式 JavaScript是以函数为一等公民的函数式语言.函数在JavaScript中也是一个对象(继承制Function),函数也可以作为参数传递成函数变量.最近几年函数式也因为其无副作用的特性. ...

  6. ASP.net状态服务器使用

    最近在开发一.NET4.0系统时经常发生session丢失问题,导致用户频繁登陆,给客户造成不良的用户体验.应项目经理号召尽快解决此问题. 一.问题描述. 服务器:windows server 200 ...

  7. ASP.net的文件扩展名

    尽管ASP.NET中采用的是事件响应模式,使程序开发人员和最终用户感觉与WinForm程序非常接近,但是它毕竟还是Web应用程序.而Web应用程序的特点,就是基于浏览器与服务器的请求与响应的执行方式. ...

  8. git 操作简明扼要,命令不需要多,够用就行

    提升能力最快的方法就是做项目. 从前使用svn时,最开始是自己看网上教程,只会一个从服务端checkout文件,update一下,commit一下,后来使用到了分支,感觉好了不少,感觉svn还挺不错的 ...

  9. jQuery学习-打字游戏

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  10. 日志框架只打印出Mybatis SQL的配置

    项目比较大,各种乱七八糟的框架.Log4j配置的是INFO级别. 然而今天开发的时候我需要log4j打印出SQL的执行情况. 先改log4j的rootLogger级别到DEBUG......后果就是各 ...