我们的ITOO进行了一大部分了,整体上来说还是比较顺利的。昨天进行了一次验收,大体上来说,我们新生这块还是可以的。不仅仅进行了学术上的交流,还进行了需求上的更新。也正是由于这一次,我有了解到了一个新的需求,就是在我们界面转换之间的返回上,添加参数,使当前页上的数据还是跳转之前的样子。(前提不使用浏览器上的返回键,自己写一个返回按钮)
人 怕的不仅仅是不了解知识,更害怕的是没有想法!
了解到这个需求,我今天一上午都在想办法,试验了各种方法,结果用了一个最最简单的。下面就由我向大家分享一下:
1、ViewBag:
controller代码:
<span style="font-size:18px;">#region DepReport()-获得后台数据-李卫中--2016年1月12日10:53:38
/// <summary>
/// DepReport()-获得后台数据
/// </summary>
/// <param name="strlike">学院名称</param>
/// <returns></returns>
public JsonResult DepReportList(string strlike)
{ int pageSize = Request["rows"] == null ? 10 : int.Parse(Request["rows"]);
int pageIndex = Request["page"] == null ? 1 : int.Parse(Request["page"]);
int total;
<span style="color:#ff0000;"><strong>Session["DepName"] = strlike;</strong></span> List<FreshDepartmentViewModel> lsdep; if (strlike == "" || strlike == null || strlike == "请输入学院名称")
{
lsdep = depservice.FreshDepReport(pageSize, pageIndex, out total);
}
else
{
lsdep = depservice.FuzzyFreshDepReport(pageSize, pageIndex, out total, strlike);
} var data = new
{
total,
rows = lsdep
};
return Json(data, JsonRequestBehavior.AllowGet);
} #endregion</span>
<span style="font-size:18px;">public ActionResult Index()
{
if (Session["DepName"] != null)
{
<span style="color:#ff0000;"><strong>ViewBag.txtSearch = Session["DepName"];</strong></span>
}
else
{
ViewBag.txtSearch = "";
}
return View();
}</span>
View展示:
<span style="font-size:18px;"><input id="txtSearch" <strong><span style="color:#ff0000;">value="@ViewBag.txtSearch"</span></strong> onkeyup="AutoSuggest(this, event, document.getElementById('urllink').value);"
onkeypress="if(keyCode==13) doSearch();" placeholder="请输入学院名称" @*value="" class="gray" onclick=" if (this.value == '请输入学院名称') { this.value = ''; this.className = 'black' }" onblur=" if (this.value == '') { this.value = '请输入学院名称'; this.className = 'gray' }" *@style="width: 320px; height: 20px; margin-bottom: 30px;" autocomplete="off" onkeydown=" if (event.keyCode == 13) { doSearch(); }" /></span>
就这样,我们先将当前页查询的信息存在Session中,然后再加载的时候用ViewBag(ViewBag
.DepName)来接收它,进行判断,剩下的只需要我们在前台中有一个对应的@ViewBag.DepName来接收从controller赋过来的值就可以了。然后,一切就都顺理成章了。
2、ViewData
只是其中的一种方法,另一种方法就是viewdata,相信大家用的比较广泛,类似于viewbag,我们要再前台用相应的@ViewData[ ];
Controller:
<span style="font-size:18px;">public ActionResult Index()
{
<span style="color:#ff0000;"><strong>ViewData["depname"] = "数学与信息科学学院";</strong></span>
return View();
}</span>
View
<span style="font-size:18px;"><input id="urllink" type="hidden" value="/FreshMajorReport/ProcessRequest?<strong><span style="color:#ff0000;">depname=@ViewData["depname"]</span></strong>" /></span>
总结:
不怕不知道,就怕不知道。通过这次学习,更加了解了viewbag和viewdata的区别和作用,对于这两种用于controller向view传值的方法,我们应该了解它的原理。
【项目经验】之——Controller向View传值的更多相关文章
-
总结Controller向View传值的方式(转)
总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通View页面传一个Model对象 向强类型页面传传 ...
-
ASP.NET MVC Controller向View传值方式总结
Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...
-
MVC:Controller向View传值方式总结
Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...
-
ASP.NET MVC Controller向View传值的几种方式
上几篇博文提到MVC和WebForm的区别,主要是MVC的Controller和View将传统的WebForm的窗体和后台代码做了解耦,这篇博文简单介绍一下在MVC中Controller向View是如 ...
-
Controller向View传值方式总结
http://www.cnblogs.com/guohu/p/4377974.html 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag Vi ...
-
MVC Controller 与 View 传值
Controller 到 View 1 强类型 控制器 // GET: /Test/ public ActionResult Index() { DateTime date = DateTime.No ...
-
MVC Controller向View传值(ViewData与ViewBag)
近期在开发项目中,使用的是ASP.NET MVC因为之前并没有接触,对于它的传值方式有些陌生,在这里进行初步总结积累学习. 一:使用 ViewData使用: public ActionResult I ...
-
MVC教程四:Controller向View传值的几种方式
一.通过ViewData传值 MVC从开始版本就一直支持使用ViewData将Controller里面的数据传递到View.ViewData定义如下: 从上面的截图中可以看出,ViewData里面存的 ...
-
ASP.NET MVC 四种Controller向View传值方法
控制器: // Get: Data public ActionResult Index() { //ViewData 方式 ViewData["UserName"] = " ...
随机推荐
-
java 抽象类与接口的区别
在Java 语言中, abstract class 和interface 是支持抽象类 定义的两种机制.正是由于这两种机制的存在,才赋予 了Java强大的 面向对象能力.abstract class和 ...
-
EL表达式 JSTL中的常用EL函数 动态数据的国际化
ELppt: EL 全名为Expression Language.EL主要作用: 获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.( ...
-
刷新dns
1.window:ipconfig /flushdns 2.linux sudo rcnscd restart
-
sql update 触发器 可获得被update的行的信息
类型:转载 sql update 触发器 可获得被update的行的信息,需要的朋友可以参考下. 复制代码 代码如下: create trigger TgName on tb for update ...
-
React修改state(非redux)中数组和对象里边的某一个属性的值
在使用React时,会经常需要处理state里边设置的初始值以达到我们的实际需求,比如从接口获取到列表数据后要赋值给定义的列表初始值,然后数据驱动view视图进而呈现在我们眼前,这种最简单的赋值方式实 ...
-
Android ThreadPoolExecutor线程池
引言 Android的线程池概念来自于Java的Executor,真正的线程池实现为ThreadPoolExecutor.在Android中,提供了4类不同的线程池,具体下面会说到.为什么使用线程池呢 ...
-
Getting started with new I/O (NIO)
https://www.ibm.com/developerworks/java/tutorials/j-nio/j-nio.html https://www.ibm.com/developerwork ...
-
MapWinGIS------引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常
转载:http://www.cnblogs.com/dzone/archive/2011/09/08/2171445.html
-
Java中的反射机制(一)
基本概念 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的. 这种动态获取类的信息以及动态调用对象的方法的功能来自于J ...
-
HDU 4035 Maze 概率DP 搜索
解题报告链接: http://www.cnblogs.com/kuangbin/archive/2012/10/03/2711108.html 先推公式,设计状态,令DP[i]表示在房间i退出要走步数 ...