MVC实用笔记
----------------------------
渲染一个Action:@{Html.RenderAction("Rulelist", "AjaxReuqestData",new { area = "AjaxTest" });}
public ActionResult Rulelist()
{
List<HomeRuleList> homeRuleLists = GetHomeRuleLists();
return PartialView(homeRuleLists);
}
@using MyLoveApp.Models
@model List<HomeRuleList> //MODEL
----------------------------------------
url.Action的使用:注意加''号
$.ajax({
url: '@Url.Action("Rulelist", "AjaxReuqestData", new { area="AjaxTest"})',
type: "Post",
success:function(data){
$("#content").html(data);
}
});
------------------------------------
js触发一个事件()
trigger()方法触发事件后,会执行浏览器默认操作。例如:
$(
"input"
).trigger(
"focus"
);
以上代码不仅会触发为<input>元素绑定的focus事件,也会使<input>元素本身得到焦点(这是浏览器的默认操作)。
如果只想触发绑定的focus事件,而不想执行浏览器默认操作,可以使用jQuery中另一个类似的方法——triggerHandler()方法
$(
"input"
).triggerHandler(
"focus"
);
$("h2").click(function () {
$("h1").trigger("click");
});
-----------------------
经常传值类型:ViewBag,ViewData,TempData他们都可以存对象 ViewData[key] as Type 可以强类型转换
经常赋予值类型:model,string,Dictionary<T,type>,list<T>
ViewBag和ViewData生命周期相同,仅对当前View有效
TempData保存在Session中,Controller每次执行请求的时候,会从Session中先获取TempData,而后清除Session,获取完TempData数据,虽然保存在内部字典对象中,但是其集合中的每个条目访问一次后就从字典表中删除。
具体代码层面,TempData获取过程是通过SessionStateTempDataProvider.LoadTempData方法从ControllerContext的Session中读取数据,而后清除Session,故TempData只能跨Controller传递一次。
如果我们想读取TempData的值但是又不让它被删除,可以使用TempData.Peek("Key")方法。如果想再保持一次TempData里面的值,可以使用TempData.Keep("Key").
TempData: 保存在session中,controller每次执行请求时,会从Session中获取Tempdata(),而后清除session,
获取完TempData数据,虽然保存在内部字典中。但字典中每个条目访问一次后就从字典中删除。因此Tempdata数据最多只能经过一次controller传递,并且每个元素最多只能访问一次。之后自动删除
- ViewData和TempData是字典类型,赋值方式用字典方式, ViewData["myName"]
- ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.myName。
- ViewBag和ViewData只在当前Action中有效,等同于View
- TempData可以通过转向继续使用,因为它的值保存在Session中。
- 但TempData只能经过一次传递,之后会被系统自动清除.
- ViewData和ViewBag 中的值可以互相访问,因为ViewBag的实现中包含了ViewData
------------------------------------------
html.helper:
@Html.EditorFor(model => model.Time)编辑框
@Html.ValidationMessageFor(model => model.Time)验证合法性错误显示
@Html.LabelFor(model => model.Time)标签
@Html.ValidationSummary(true)}用于客户端验证
@Html.DisplayFor(modelItem => item.Title)是显示列的内容
@Html.DisplayNameFor(model => model.Title)是显示列名,
-----------------------------------------------
Ajax.helper:
@Ajax.ActionLink("Ajax渲染页面", "Rulelist","AjaxReuqestData", new { area="AjaxTest",date=DateTime.Now.ToString()}, new AjaxOptions { HttpMethod = "Post",
InsertionMode=InsertionMode.Replace,UpdateTargetId="content2"}) 回传到当前页面的一个div
如果需要ajax回传的数据必须及时更新,那么就必须调整你的Action方法定义,新增一个OutputCache属性,强迫浏览器不要缓存这一页的要求
[OutputCache(NoStore = true, Duration = 0)]
public ActionResult Rulelist()
{
List<HomeRuleList> homeRuleLists = GetHomeRuleLists();
return PartialView(homeRuleLists);
}
表单
@using(Ajax.BeginForm(new AjaxOptions{ UpdateTargetId="now"}))
MVC实用笔记的更多相关文章
- MVC实用构架设计(三)——EF-Code First(6):数据更新最佳实践
前言 最近在整理EntityFramework数据更新的代码,颇有体会,觉得有分享的价值,于是记录下来,让需要的人少走些弯路也是好的. 为方便起见,先创建一个控制台工程,使用using(var db ...
- MVC实用架构设计(三)——EF-Code First(5):二级缓存
前言 今天我们来谈谈EF的缓存问题. 缓存对于一个系统来说至关重要,但是是EF到版本6了仍然没有见到有支持查询结果缓存机制的迹象.EF4开始会把查询语句编译成存储过程缓存在Sql Server中,据说 ...
- MVC实用架构设计(三)——EF-Code First(4):数据查询
前言 首先对大家表示抱歉,这个系列已经将近一个月没有更新了,相信大家等本篇更新都等得快失望了.实在没办法,由于本人水平有限,写篇博客基本上要大半天的时间,最近实在是抽不出这么长段的空闲时间来写.另外也 ...
- MVC实用架构设计(三)——EF-Code First(3):使用T4模板生成相似代码
前言 经过前面EF的<第一篇>与<第二篇>,我们的数据层功能已经较为完善了,但有不少代码相似度较高,比如负责实体映射的 EntityConfiguration,负责仓储操作的I ...
- MVC学习笔记
7 天玩转 ASP.NET MVC 阅读笔记 1.Web Form的问题 1.响应慢,web控件转化成html需要时间 2.带宽消耗,页面保存web控件的状态(viewstate) 3.由web控件生 ...
- MVC学习笔记索引帖
[MVC学习笔记]1.项目结构搭建及单个类在各个层次中的实现 [MVC学习笔记]2.使用T4模板生成其他类的具体实现 [MVC学习笔记]3.使用Spring.Net应用IOC(依赖倒置) [MVC学习 ...
- .NET MVC学习笔记(一)
看了些关于MVC的资料,做一些MVC的笔记. 分解关注点 在MVC世界里有个很重要的观念--"分解关注点"(Separation of Concerns),指的是:当你进行软件开发 ...
- vim实用笔记
vim实用笔记 真是不知不觉过了一年,前段时间忙着考试什么的,没再写笔记写博客,考完又懒懒地玩了几天.这几天其实都在读别人的博客,感受一下大神的工作和生活感悟,感受一下过来人的经历和经验,对自己总 ...
- ASP.NET MVC学习笔记-----Filter2
ASP.NET MVC学习笔记-----Filter(2) 接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用 ...
随机推荐
- 关于spring的bean
1 spring bean的单例和多例 singleton 单例指的是,在需要该bean的地方,spring framework返回的是同一个值. prototype 多例指的是,在需要该bean的地 ...
- cocos2d-js添加360广告联盟插屏(通过jsb反射机制)
1.添加demo里的libs里的jar包 2.修改AndroidManifest.xml文件 添加权限: <uses-permission android:name="android. ...
- 性能测试--Jmeter随机生成/随机选取/csv读取关键字
Jmeter随机生成/随机选取/csv读取关键字 一.随机生成关键字 随机生成关键字,需要组件:随机变量配置元件(Random Variable) 该组件的作用是生成字符+随机数字格式的字符串,并保 ...
- DLL的静态调用和动态调用
// ------------------------------------DLL源代码 circle.dproj -------------------------------------libr ...
- 【shell】判断一个变量是否为空
#!/bin/bash argv=" if [ -z "$argv" ] then echo "argv is empty" else echo &q ...
- Why use async requests instead of using a larger threadpool?(转载)
问: During the Techdays here in the Netherlands Steve Sanderson gave a presentation about C#5, ASP.NE ...
- java与js互调 调用系统播放器
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...
- 使用viewholder优化listview,减少findViewById的次数
- 20145239杜文超 实验五 Java网络编程
20145239 实验五 Java网络编程 实验内容 组队,一人服务器,一人客户端. 下载加解密代码,先编译运行代码,一人加密一人解密,适当修改代码. 然后集成代码,一人加密后通过TCP发送,加密使用 ...
- <ReversingEngineering>关于windows32位系统下的dll注入技术经验汇
上个学期把自己闷在图书馆一直在看关于逆向工程技术方面的书,从入门到初级,现在也敢说自己一条腿已经迈进了这片知识的大门里,因为该博客刚开通先将一些经验记录下来,也是留给自己一方面做个参照. <逆向 ...