1、使用ViewBag

         #region 0.2 Action方法 + ActionResult Index2()
/// <summary>
/// Action方法
/// </summary>
/// <returns></returns>
public ActionResult Index2()
{
System.Text.StringBuilder sbhtml = new System.Text.StringBuilder();
List<Models.dog> list = InitData();
list.ForEach(d =>
{
sbhtml.AppendLine("<div>" + d.ToString() + "</div>");
}); ViewBag.HtmlStr = sbhtml.ToString(); return View();
}
#endregion

Index2.cshtml

@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
@Html.Raw(ViewBag.HtmlStr) </body>
</html>

2、使用ViewData

         #region 0.3 查询文章列表 + ActionResult Index3()
/// <summary>
/// 查询 文章 列表
/// </summary>
/// <returns></returns>
OumindBlogEntities db = new OumindBlogEntities(); public ActionResult Index3()
{
List<Models.BlogArticle> list = (from d in db.BlogArticles where d.AIsDel == false select d).ToList(); ViewData["DataList"] = list;
return View();
}
#endregion

Index3.cshtml

@using MvcLewisTest.Models;
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<style type="text/css">
#tbList
{
border:1px solid #0094ff;
border-collapse:collapse;
margin:10px auto;
width:800px;
}
#tbList th,td
{
border:1px solid #0094ff;
padding:10px;
}
</style>
<script type="text/javascript">
function del(Aid) {
if (confirm("确定要删除吗?"))
window.location = "/Home/Del/" + Aid;
}
</script>
</head>
<body>
<table id="tbList">
<tr>
<th>id</th>
<th>标题</th>
<th>分类</th>
<th>状态</th>
<th>时间</th>
<th>操作</th>
</tr>
@foreach (BlogArticle a in ViewData["DataList"] as List<BlogArticle>)
{
<tr>
<td>@a.AId</td>
<td>@a.ATitle</td>
<td>@a.BlogArticleCate.Name</td>
<td>@a.Enumeration.e_cname</td>
<td>@a.AAddtime</td>
<td>
<a href="javascript:del(@a.AId)">删</a>
<a href="/Home/Modify/@a.AId">改</a>
</td>
</tr>
}
</table>
</body>
</html>

3、使用Control器的 return View()

         #region 0.5 显示要修改数据(根据Id) +  ActionResult Modify(int id)
[HttpGet]
/// <summary>
/// 显示要修改的数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult Modify(int id)
{
//1.根据id查询出要修改的对象
BlogArticle art = (from a in db.BlogArticles where a.AId == id select a).FirstOrDefault();
//2.生产文章分类下来框
IEnumerable<SelectListItem> listItem = (from c in db.BlogArticleCates
where c.IsDel == false select c).ToList()
.Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.Name });
//3.将生成的文章分类 下拉框集合 设置给ViewBag
ViewBag.CateList = listItem;
//4.加载视图,使用View构造函数,将数据传给视图上Model属性
return View(art);
}
#endregion

MVC的传递数据的方法的更多相关文章

  1. 在Activity之间如何传递数据,请尽可能说出你所知道的传递数据的方法,并详细描述其实现过程。

    在Activity之间如何传递数据,请尽可能说出你所知道的传递数据的方法,并详细描述其实现过程. 答案:可以通过Intent对象.静态变量.剪切板和全局对象进行数据传递,具体的数据传递方法如下. 1. ...

  2. Android 开发中使用Intent传递数据的方法

    Activity之间通过Intent传递值,支持基本数据类型和String对象及 它们的数组对象byte.byte[].char.char[].boolean.boolean[].short.shor ...

  3. Intent传递数据的方法

    一.传递List 1.传递List<String>的方法 ArrayList<String> info = new ArrayList<String>(); inf ...

  4. 在javaweb中从servlet端向jsp端传递数据的方法

    1.servlet端: request.setAttribute("student", student)://向请求域中添加名称为student,内容为student中内容的数据( ...

  5. Java多线程初学者指南(7):向线程传递数据的三种方法

    在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果.但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别.由于线程 ...

  6. react在router中传递数据的2种方法

    概述 不传递数据叫什么单页面应用,渲染模块还需要http请求算什么单页面应用. 本文总结了react-router4中使用BrowserRouter时传递数据的两种方法,供以后开发参考,相信对其他人也 ...

  7. 安卓通过putExtra传递数据的几种方式

    通过intent传递数据时,使用以下代码报错: hMap<string, object=""> map=(Map<string, object="&qu ...

  8. 在不同Activity之间传递数据的四种常用方法

    在Android中传递数据的方法非常多,本次介绍4中比较常用的数据传递方法: 1.通过Intent传递数据 2.通过静态变量(static)传递数据 3.通过剪贴板(Clipboard)传递数据 4. ...

  9. 四大组件之Activity——组件间传递数据的4种常用方法

    在Android中传递数据的方法非常多,本次介绍4中比较常用的数据传递方法: 通过Intent/Bundle传递数据 通过静态变量(static)传递数据:需构建跳转页面相应静态变量http://bl ...

随机推荐

  1. 不能上传文件 unknown error happened

    做一件事情: 1 找出问题,发现问题,2 搜索问题,3 找到答案,验证之.4 找不到答案,想出思路,验证....5 不断想,记录笔记.

  2. linux笔记:linux常用命令-权限管理命令

    一个文件的权限只有root和所有者可以更改. 权限管理命令:chmod(改变文件或目录的权限) 权限的数字表示: 用权限加减的方式改变权限(u代表所有者,g代表所属组,o代表其他人,a代表所有人): ...

  3. laravel 中 与前端的一些事1

    首先安装node.js 在命令行中敲node -v 可以查看node的版本信息 还需要安装npm,相当于php中的composer node.js中5.0版本后的都已经将npm打包进node了 还要安 ...

  4. mac svn

    开启svn服务:sudo svnserve -d -r /Users/fuyi/svnserver/mycode/

  5. sina 行情api

    http://blog.csdn.net/simon803/article/details/7784682

  6. Spring注释与简化配置

      在Spring 2.5及以后的版本中,提供了注释和命名空间来简化Spring的配置.下面是一些常用配置分享. 1.@Autowired注释   以前给一个Bean配置属性时,Bean必须配置< ...

  7. 在ubuntu(linux)下安装vim,以及vim的常用命令

    介绍vim: vim是一种编辑器,自我感觉这东西好用,就是现在有些不太习惯 如何安装: 如果是使用redhat ,系统自带着vi和vim 如果是使用ubuntu,建议使用apt-get命令, 可以尝试 ...

  8. Xcode 8 打包上线 iTunes Connect 找不到构建版本

    Xcode 8 打包上线 iTunes Connect 找不到构建版本 最近苹果推出新的mac操作系统(macOS Sierra 10.12),大家可能都已经升级了,作为一个开发者,小编肯定是第一时间 ...

  9. VS复习 -- if···else和if···else嵌套语句

    注意:理清逻辑,画出逻辑分支图,理清思路 1.if语句 2.if...else语句 3.if..else if...else static void Main(string[] args) { Con ...

  10. Eclipse 反编译器

    Help-->Install New SoftWare 贴上反编译地址:http://opensource.cpupk.com/decompiler/update/ 选择add,一路向北,起飞.