在接触Mvc后,开始有点觉得很累,什么都要自己做,完全没有WebForm的易用性;

大概用了一个月左右的时候,越用用顺手,就习惯了MVC的这种开发方式,灵活,简洁;

当初学习MVC,网上看资料,都是讲的基础知识,没有一个完整的Demo,我今天就来实现这样的一件事吧!

  1. 创建MVC项目(本例用MVC4),选择空模版
  2. 创建HomeController,放在根目录的Controllers文件夹下面
  3. 添加如下代码
  4.  /// <summary>
    /// 列表页面
    /// </summary>
    /// <returns></returns>
    public ActionResult Index()
    {
    return View();
    } /// <summary>
    /// 显示的列表
    /// </summary>
    /// <returns></returns>
    public ActionResult IndexResult()
    {
    List<DiaryTab> model = new List<DiaryTab>(); DiaryManage server = new DiaryManage();
    model = server.GetDiaryList();
    model.Add(new DiaryTab()
    {
    DiaryTitle = DateTime.Now.ToLongTimeString(),
    DiaryTag = "动态时间" });
    Thread.Sleep();
    return View(model);
    }
  5. 在Views-Home下创建视图,快捷创建方法 在Index()、IndexResult()方法体内右击,找到“添加视图”,就会自动在这个文件夹里建立好相应的文件件
  6. 文件新建完成,开始写代码!!

这里建立了两个ActionResult,分别对应两个页面,Index.cshtml是列表页面主体,用来放置查询条件,和查询按钮;IndexResult.cshtml是列面里数据页面,只是用来显示数据,这个页面会异步加载到 Index.cshtml里面去,通过JS添加到指定DIV里

话不多说,放代码

Index.cshtml 代码

<div class="search "><!--查询条件-->
<table class="tableList">
<tr>
<td>
<input type="text" id="txtName" name="Name" />
</td>
<td>
<input type="button" id="btnSearch" onclick="Search()" value="查找" />
</td>
</tr>
</table>
</div>

  

 <!--用来显示数据列表-->
<div id="result"> </div>
<script>
function Search() {
var url = '@Url.Action("IndexResult", "Home")';
$("#btnSearch").val("查找中…");//这里可以用于显示Loading图片
$.post(url, {}, function (data) {
$("#btnSearch").val("查找");
$("#result").html(data);//JS异步请求后,绑定到 result Div里 }); }
 </script>

 

IndexResult.cshtml 代码

 @using RgWan.Entity;
@model List<DiaryTab>
<table class="tableList">
<tr>
<td>文章标题</td>
<td>文章内容</td>
</tr>
@foreach (RgWan.Entity.DiaryTab item in Model) //循环绑定数据,这个列表最终会显示到Index页面中
{
<tr>
<td>@item.DiaryTitle</td>
<td>@item.DiaryTag</td>
</tr>
}
</table>

完成

总结一下:

这种写法,IndexResult的重用性会比较高。样式什么的,可以写在Index页面,这样样式和数据分离更加明显;

在数据加载时,页面会不会刷新,异步Post请求的;界面友好;

本例相关文件下载

如何用Mvc实现一个列表页面-异步加载的更多相关文章

  1. [WP8.1UI控件编程]Windows Phone大数据量网络图片列表的异步加载和内存优化

    11.2.4 大数据量网络图片列表的异步加载和内存优化 虚拟化技术可以让Windows Phone上的大数据量列表不必担心会一次性加载所有的数据,保证了UI的流程性.对于虚拟化的技术,我们不仅仅只是依 ...

  2. MVC中实现部分内容异步加载

    MVC中实现部分内容异步加载 action中定义一个得到结果集的方法 public ActionResult GetItemTree(string title, int itemid, int? pa ...

  3. 页面异步加载javascript文件

    昨天听一同事说的异步加载js文件,可以提高页面加载速度.具体方法如下:(function() {  var ga = document.createElement('script'); ga.type ...

  4. 潭州课堂25班:Ph201805201 django 项目 第二十二课 文章主页 新闻列表页面滚动加载,轮播图后台实现 (课堂笔记)

    新建static/js/news/index.js文件 ,主要用于向后台发送请求, // 新建static/js/news/index.js文件 $(function () { // 新闻列表功能 l ...

  5. 关于Web中列表页面的加载问题

    2017年5月23日,天气晴朗.尽管昨晚睡的不踏实,好在今天心情还不是很糟糕,近来事情颇多,尤其是对于TA的改变,至少目前还是没有习惯,但时间将会解决一切,这点深有体会.此时此刻,又想起了苏东坡的那首 ...

  6. 当vue页面异步加载的数据想在页面上渲染怎么办

    <template> <div class="test"> <div v-for="(item, index) in arr" : ...

  7. [置顶] iOS学习笔记47——图片异步加载之EGOImageLoading

    上次在<iOS学习笔记46——图片异步加载之SDWebImage>中介绍过一个开源的图片异步加载库,今天来介绍另外一个功能类似的EGOImageLoading,看名字知道,之前的一篇学习笔 ...

  8. Android图片异步加载之Android-Universal-Image-Loader

    将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就 ...

  9. 解决ListView异步加载图片错乱问题 .

    发一个异步图片加载控件.网上也有大把的异步网络加载图片的控件,但是有一个问题,异步加载会造成列表中的图片混乱,因为列表的每一项的View都可能被重用,异步加载的时候多个异步线程引用到了同一个View将 ...

随机推荐

  1. ArcGIS Python 保存lyr

    import arcpy ##################my = arcpy.GetParameterAsText(0)mylyrfile = arcpy.GetParameterAsText( ...

  2. Android跨进程通信Content Provider

    Content Provider ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通 ...

  3. mybatis之动态SQL操作之更新

    1)  更新条件不确定,需要根据情况产生SQL语法,这种情况叫动态SQL /** * 持久层*/ public class StudentDao { /** * 动态SQL--更新 */ public ...

  4. android Api操作SQLite数据库的示例代码

    import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.databa ...

  5. VBA 刷新数据透视表

    Sub pjCount() Dim r As Long r = Sheets("Inquery").[A65536].End(xlUp).Row ActiveSheet.Pivot ...

  6. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock

    笔记 6.微信扫码登录回调本地域名映射工具Ngrock         简介:讲解微信扫码回调本地域名ngrock讲解 1.为什么要用这个,微信扫码需要配置回调,需要配置对应的域名          ...

  7. 九十七:CMS系统之模板抽离和个人信息页面

    模板抽取,将公共的页面抽出来作为模板 {% from 'common/_macros.html' import static %}<!DOCTYPE html><html lang= ...

  8. Django View视图

    视图view 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者 ...

  9. Nginx日志中的金矿

    http://www.infoq.com/cn/articles/nignx-log-goldmine/

  10. ClosureTable

    1. 查询所有子节点 SELECT `chidren_id` FROM `xi_category4_closure` WHERE `parent_id` = 0 AND `distance` > ...