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"}))
最新文章
- 浅谈Linux中的信号处理机制(一)
- 深入理解JavaScript系列:JavaScript的构成
- HDU Math Problems
- sql server 内置ETL工具学习(一) BCP篇
- Delphi实现无标题有边框的窗体
- Jasper_table_Cloud not resolve style(s)
- How can I get an object's absolute position on the page in Javascript?
- VNC VIEWER的使用集锦
- c#使用DotNetZip封装类操作zip文件(创建/读取/更新)实例
- bzoj2005 NOI2010 方案统计
- Android开发优化之——使用软引用和弱引用
- 17_Android中Broadcast详解(有序广播,无序广播)最终广播,Bundle传递参数,传递参数的时候指定权限
- Python 爬虫——抖音App视频抓包
- 清除cookie
- chrome 如何开启网页另存为.mhtml 功能
- [Leetcode 15]三数之和 3 Sum
- 2、JDBC-CURD
- eclipse中一个项目引用另一个项目的方法(申明:来源于网络)
- [Objective-C] id类型和instancetype类型
- 4.Dubbo2.5.3集群容错和负载均衡