在接触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请求的;界面友好;

本例相关文件下载

最新文章

  1. canvas学习之API整理笔记(二)
  2. 访问修饰符private
  3. highCharts图表应用-实现多种图表的显示
  4. [译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)
  5. 【原】centos6.5下hadoop cdh4.6 安装
  6. 构建轻量级的Table View注意事项[UIKit]
  7. 面试经验And总结
  8. 动态点分治:Bzoj1095: [ZJOI2007]Hide 捉迷藏
  9. JAVA_SE基础——71.Random类制作随机验证码
  10. python中__del__使用方法
  11. loadrunner 添加集合点和添加压力机
  12. html-webpack-plugin插件使用时参数配置
  13. MSSQL 如何采用sql语句 获取建表字段说明、字段备注、字段类型、字段长度
  14. NPOI导出Excel帮助类
  15. poi导入excel表格数据到数据库的时候,对出生日期的校验
  16. Redis 队列好处
  17. VirtualBox中的快捷键
  18. Zuul过滤器
  19. Python2和Python3中print的不同点
  20. odoo 模型继承

热门文章

  1. 黑马vue---21-22、总结
  2. React入门----基础篇
  3. C# WinForm设置窗口大小不可调,取消最大、最小化按键
  4. 反射中的 Method 的 getReadMethod 与 getWriteMethod 使用 【获取一个对象的所有属性字段名称和其对应的值】
  5. 系统调用与内存管理(sbrk、brk、mmap、munmap)(转)
  6. MATLAB学习(七)求解优化问题:线性规划 非线性规划 拟合与插值 多目标规划
  7. 分析Python中解析构建数据知识
  8. pod installation failed with react native 0.44
  9. coreDNS域名无法解析问题
  10. idea标签页多行显示+设置标签页上限