在MVC的每个action中,都可以指定一种返回页面的类型,可以是ActionResult,这表示返回的页面为view或者是一个PartialView,前台是一个全整页面,后台是页面的一部分. 在以ASPX为页面引擎时,PartialView被称为分部视图,扩展名为ASCX,与webform中的用户控件是一样的,即页面中的一个部分:而使用razor为页面引擎时,PartialView扩展名还是cshtml,这一点感觉与普通页面有些混乱.不过,这不是今天我要讲的重点,今天的重点间在partialv…
在mvc的每个Action中,都可以指定一种返回页面的类型,可以是ActionResult,这表示返回的页面为View或者是一个PartialView, 在以Aspx为页面引擎时,PartialView被称为分部视图,扩展名为ASCX,与webform的用户控件一样,是页面的一部分,而使用Razor为页面引擎时,partialView扩展名还是cshtml 第一种情况,在Partialview中进行表单提示操作后,需要返回一个PartialView来填充原来的partialView的内容,这种情…
MVC小系列(七)[分部视图中的POST] 在PartialView中进行表单提交的作用:1 这个表单不止一个地方用到,2 可能涉及到异步的提交问题 这两种情况都可能需要把表单建立在分部视图上, 使用MVC3.0的输出流方法: @Html.Partial() @Html.Action() 当然,也可以使用MVC2.0的输出流方法: @{Html.RenderPartial();} @{Html.RenderAction();}…
C#编译器优化那点事   使用C#编写程序,给最终用户的程序,是需要使用release配置的,而release配置和debug配置,有一个关键区别,就是release的编译器优化默认是启用的.优化代码开关即optimize开关,和debug开关一起,有以下几种组合. 在Visual Sutdio中新建一个C#项目时,项目的“调试”(Debug)配置的是/optimize-和/debug:full开关,而“发布”(Release)配置指定的是/optimize+和/debug:pdbonly开关…
MVC小系列(八)[改变Areas的FindView顺序] 一般项目比较大的话,会根据模块建立Areas,这样结构清晰,也有利于路由的部署, 1 Areas下有自己的_LayOut模板,而如果希望所有Areas都用公有的(~/Views/Shared)下的模板,可以改变Areas的FindView规则 当然首先这个取模板的顺序要知道:如果这几个地方模板名称一样,则优先级是这样"~/Areas/{2}/Views/{1}/{0}.cshtml";"~/Areas/{2}/Vie…
——原文地址:https://msdn.microsoft.com/zh-cn/library/6c3yckfw(v=vs.100).aspx      在开发 ASP.NET 网站时,您经常需要从一个网页重定向(导航)到另一个网页,同时希望能够将信息从源页传递到目标页.例如,如果您正在开发一个保险网站,用一个页面来收集基本信息(用户信息.保险产品信息等),用另一个页面用来完成支付过程,而支付页面又需要前一页面的部分信息,这时就需要进行页面重定向和传值. 实现网页之间信息传递的方式有很多种,例如…
二者作用:RenderAction:渲染分部视图到页面上,要求提供Action和控制器名称RenderPartial:渲染分部视图到页面上,要求提供分部视图的名称,即路径,如果是在当前控制下或者shared下的页面,可以直接写名称即可 区别:RenderAction:通过控制器在aciton,即HttpGet特性RenderPartial:不通过控制器和aciton,即使有也不走这个,一般使用RenderPartial时,都是把数据写在页面上, 注意:如果有多个视图中的表单分别有提交动作,必须使…
由于mvc内部跳转机制的问题,它只在当前的action所渲染的view上进行跳转,如果希望在当前页面跳,需要将mvc方法改为js方法: filterContext.Result = new RedirectToRouteResult("Default", new RouteValueDictionary { { "Action",_failActionName }, { "Controller", _failControllerName}, {…
mvc对DropDownListFor的重载很多,但对checkbox和radiobutton没有对集合的重载 所以该讲主要针对集合的扩展: #region 复选框扩展 /// <summary> /// 复选框扩展 /// </summary> /// <typeparam name="TModel">模型类型</typeparam> /// <typeparam name="TProperty">属性类…
方法就是使用:ActionFilterAttribute它的几个方法:OnActionExecuted,OnActionExecuting,OnResultExecuted和OnResultExecuting,它们记录一个action从加载到页面最终显示在浏览器的全过程,这个东西一般用在页面权限验证,LayOut页面控制上这里面的几个方法执行顺序:OnActionExecuting action执行前 OnActionExecuted action执行后 OnResultExecuting 页面…
根据上一讲的可以加载一棵大树,这讲讲下如果操作这颗大树 <link href="../../Scripts/JQuery-zTree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" /> <script src="../../Scripts/JQuery-zTree/js/jquery-1.4.4.min.js"></script> <script src=…
ZTree是一个jquery的树插件可以异步加载 第一步定义一个标准的接口(指的是与ztree默认的数据元素保持一致) /// <summary> /// ZTree数据结构 /// </summary> public interface IZTree { /// <summary> /// 节点ID /// </summar int id { get; set; } /// <summary> /// 节点名称 /// </summary>…
我的MvcSiteMap地图主要由实体文件,XML配置文件,C#调用文件组成,当然为了前台调用方法,可以为HtmlHelper添加一个扩展方法 第一步 定义站点地图实体 public class MvcSiteMap { [XmlAttribute] public int ID { get; set; } [XmlAttribute] public string Title { get; set; } [XmlAttribute] public string Url { get; set; }…
主要用到: HttpStatusCodeResult 和HttpStatusCode 的http返回状态 比如: /// <summary> /// 使用异步模式 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task<ActionResult> Details(int? id) { /…
Html.BeginForm与Ajax.BeginForm都是mvc的表单元素,前者是普通的表单提交,而后者是支持异步的表单提交,直接用mvc自带的Ajax.BeginForm就可以很容易完成一个异步的表单提交动作 第一种普通提交几种方式 @using (Html.BeginForm()) {} //提交到当前页面 @using (Html.BeginForm(new {} )) {} //提交到当前页面,并可以传递参数 @using (Html.BeginForm("action",…
以前在页面引入一个namespace,可以这样: <%@ Import Namespace="Web.Helpers" %> 如果空间是所有页面都需要的,可以写进配置文件 <pages pageBaseType="System.Web.Mvc.WebViewPage"> <namespaces> <add namespace="System.Web.Mvc" /> <add namespace…
MVC的分部视图: 分部视图在action中返回一定要用PartialView(),而不要偷懒使用View(),因为如果使用后者,系统会认为是一个标准视图,会为它加个默认的母版页(LayOut),除非显式设置了Layout这个属性 比如: @{ Layout = null;} 正确写法: public ActionResult About() { ViewBag.Message = "Your app description page."; return PartialView();/…
因为下拉框不支持验证,所以写一个attribute特性,让它继承ValidationAttributemvc的特性验证,很直接,无论是数据安全特性上还是页面表现上都不错,它的运行机制: 前台表单验证规则有个名称,然后前台js有对这个规则编写的代码,用来控制前台html标记的显示,而后台主要是生成验证规则和向前台参数赋值的,mvc的验证不是简单的后台验证,一般继承到了 jquery.validate.min.js里 第一步 写后台验证规则,可能需要这样 [AttributeUsage(Attrib…
做个无刷新的验证码功能: 第一步:首先,在公用项目中建立一个生成图片验证码的类型ValidateCode /// <summary> /// 生成验证码对象 /// </summary> public class ValidateCode { public ValidateCode() { } ///<summary> /// 验证码的最大长度 ///</summary> public int MaxLength { ; } } ///<summary…
在过滤器里引入重定向 过滤器的引入:如果用户进行一个操作,但没有登录,可以在Post方法上加个过滤器以验证用户是否登录,如果登录成功,则继续进行操作,如果没有登录,则实现Url的重定向,进行登录页 授权过滤器可以继承自AuthorizeAttribute类,通常重写它的OnAuthorization() 方法,将要验证的逻辑写在方法里,而filterContext就是当前web请求的上下文,如果希望得到当前页面的Request,Response,HttpContext,RouteData等信息,…
向RouteData里扔数据 当Url做路由之后,QueryString里当然是不可能再存你的信息了,而信息包括控制器,action,参数都会存储在RouteData里,而一般这里的信息都是通过前一个页面的href传递过来的,这是正常的,但如果前一个页面不能传过来或者要求的信息只有在本Action里才能被确定,怎么办呢?解决方法:手动在Action里面向RouteData里扔数据,RouteData的工作是在view实现之前,在进行action之后才执行的,所以向RouteData里写信息不会对…
Razor 模板引擎 Razor模板页:它使我们不用再使用master模板了 一 :@Url.Content:是可以加载CSS和JS等文件比如: <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> <script src="@Url.Content("~/Scripts/jq…
利用vs创建一个MVC项目后,一般的默认启动页是根目录下-->Controllers-->HomeController-->Index这个方法对应的页面. 我先说下创建Areas的流程: 但是我们的controller一般都会建立很多,这样我们就会想建个文件夹按照业务或者其他的分类方式把这么多文件放在不通的文件夹分开,所以就有了区域[Areas]的概念. 首先在根目录下创建一个Areas的文件夹,然后在Areas文件下创建一个区域,也就是我们要分类的文件夹 然后VS就会自动创建对应的文件…
在MVC网站的global.asax中的Application_Start方法里,有这样一段代码 protected void Application_Start() { //它的主要作用是将全局过滤器进行注册,而全局过滤器可以在RegisterGlobalFilters这个方法里进行设置 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); AreaRegistration.RegisterAllAreas(); WebApiCo…
在Razor引擎中,对于在表格中进行遍历时,一般会这样写 复制代码 <table border="> @{ ; i < ; i++) { <tr> <td> @i </td> </tr> } } </table> 但如果你的元素i,希望在一行显示2列,应该: <table border="> @{ ; i < ; i++) { == ) { Output.Write("<tr…
mvc3之后:如果路由带上扩展名,比如这样: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("favicon.ico"); routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //register custom routes (plugins, etc) var routePublisher = Engine…
在写 java 程序设计实践作业的时候遇到了重定向页面的需求,因为还没学到 java web 开发,所以自己就在网上搜了一下相关的代码,总结出了一些小小的经验,希望在下学期学 java web 的时候可以有些帮助(如果下学期我选的还是 java 的话) 从配置文件中重定向 修改dispatcher-servlet.xml文件可以达到重定向的目的 只要加上这么一句话 <mvc:view-controller path="index" view-name="login&qu…
这段时间开发了一个微信小程序,虽然小程序的导航API 官方文档写得很详细,但是在具体开发过程中还是会遇到很多不明白,或者一时转不过弯的地方. 1.页面切换传参,参数读取 1.1  wx.navigateTo(object) 功能:保留当前页面,跳转到应用内的某个页面,但是不能跳到 tabbar 页面.使用 wx.navigateBack 可以返回到当前页面. wx.navigateTo({ //当前页面对应的JS文件内 控制模板 url: 'test?id=1' //需要切换到的页面路劲,此处为…
Spring Web MVC中的页面缓存支持 ——跟我学SpringMVC系列…
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面 学习ASP.NET C…