【MVC】 小问题】的更多相关文章

MVC小系列(八)[改变Areas的FindView顺序] 一般项目比较大的话,会根据模块建立Areas,这样结构清晰,也有利于路由的部署, 1 Areas下有自己的_LayOut模板,而如果希望所有Areas都用公有的(~/Views/Shared)下的模板,可以改变Areas的FindView规则 当然首先这个取模板的顺序要知道:如果这几个地方模板名称一样,则优先级是这样"~/Areas/{2}/Views/{1}/{0}.cshtml";"~/Areas/{2}/Vie…
MVC小系列(七)[分部视图中的POST] 在PartialView中进行表单提交的作用:1 这个表单不止一个地方用到,2 可能涉及到异步的提交问题 这两种情况都可能需要把表单建立在分部视图上, 使用MVC3.0的输出流方法: @Html.Partial() @Html.Action() 当然,也可以使用MVC2.0的输出流方法: @{Html.RenderPartial();} @{Html.RenderAction();}…
前几次更新博客都是每次周日晚上到周一,这次是周一晚上开始写,肯定也是有原因的!那就是我的 Tomact 忽然报错,无法启动,错误信息如下!同时我的 win10 也崩了,重启之后连 WIFI 的标志也不见了,上不了网.额.额.额...后面连 IDEA 也报错,就很无奈!不过现在能写也就是我把他折腾好了!原因很简单就是执行了下面简单的几句命令后重启就可以上网了,我对这方面的知识不是很熟悉但应该重置网络方面的东西!接着 Tomact 的报错也熟悉了 --- 端口被占用!这都是小事,改好端口就开始本周的…
什么是MVC (模型 视图 控制器)? MVC是一个架构模式,它分离了表现与交互.它被分为三个核心部件:模型.视图.控制器.下面是每一个部件的分工: 视图是用户看到并与之交互的界面. 模型表示业务数据,并提供数据给视图. 控制器接受用户的输入并调用模型和视图去完成用户的需求. 图: MVC (模型.视图.控制器) 你能解释下MVC的完整流程吗? 下面是MVC(模型.视图.控制器)架构的控制流程: 所有的终端用户请求被发送到控制器. 控制器依赖请求去选择加载哪个模型,并把模型附加到对应的视图. 附…
由于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">属性类…
因为下拉框不支持验证,所以写一个attribute特性,让它继承ValidationAttributemvc的特性验证,很直接,无论是数据安全特性上还是页面表现上都不错,它的运行机制: 前台表单验证规则有个名称,然后前台js有对这个规则编写的代码,用来控制前台html标记的显示,而后台主要是生成验证规则和向前台参数赋值的,mvc的验证不是简单的后台验证,一般继承到了 jquery.validate.min.js里 第一步 写后台验证规则,可能需要这样 [AttributeUsage(Attrib…
方法就是使用: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=…
二者作用:RenderAction:渲染分部视图到页面上,要求提供Action和控制器名称RenderPartial:渲染分部视图到页面上,要求提供分部视图的名称,即路径,如果是在当前控制下或者shared下的页面,可以直接写名称即可 区别:RenderAction:通过控制器在aciton,即HttpGet特性RenderPartial:不通过控制器和aciton,即使有也不走这个,一般使用RenderPartial时,都是把数据写在页面上, 注意:如果有多个视图中的表单分别有提交动作,必须使…
Html.BeginForm与Ajax.BeginForm都是mvc的表单元素,前者是普通的表单提交,而后者是支持异步的表单提交,直接用mvc自带的Ajax.BeginForm就可以很容易完成一个异步的表单提交动作 第一种普通提交几种方式 @using (Html.BeginForm()) {} //提交到当前页面 @using (Html.BeginForm(new {} )) {} //提交到当前页面,并可以传递参数 @using (Html.BeginForm("action",…
在mvc的每个Action中,都可以指定一种返回页面的类型,可以是ActionResult,这表示返回的页面为View或者是一个PartialView, 在以Aspx为页面引擎时,PartialView被称为分部视图,扩展名为ASCX,与webform的用户控件一样,是页面的一部分,而使用Razor为页面引擎时,partialView扩展名还是cshtml 第一种情况,在Partialview中进行表单提示操作后,需要返回一个PartialView来填充原来的partialView的内容,这种情…
以前在页面引入一个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();/…
前端控制器是DispatcherServlet 应用控制器     1 处理器映射器(Handler Mapping)   进行处理器管理 2 视图解析器(View Resolver)         进行视图管理 页面控制器/动作/处理器为Controller接口 (仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类): 前端控制器(DispatcherServlet). 请求到处理器映射(HandlerMa…
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace mvcDemo.Controllers { public class StoreController : Controller { // GET: Store public string Index() { return "Hello from Store.Inde…
.field-validation-error { color: #f00; } .field-validation-valid { display: none; } .input-validation-error { border: 1px solid #f00; background-color: #fee; } .validation-summary-errors { font-weight: bold; color: #f00; } .validation-summary-valid {…
[约定胜于配置] 1. 右键Mode数据层添加新建项,用linq连接数据库 (不要在控制层上直接操控linq,要在数据层新建一个类,来对数据库进行操作) 2. 右键Mode数据层添加类,来完成对数据库的操作.类的名字叫Carda 3. 在Carda类中写对数据库增删改查的方法.如下图 4. 再转到Controllers控制层的代码中,写如下代码 5. 再把数据传到Views视图层,在ActionResult行为结果方法中右键添加视图,视图引擎选择ASPX.在网页中设置网站的样式. 6. 一定要注…
mvc3之后:如果路由带上扩展名,比如这样: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("favicon.ico"); routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //register custom routes (plugins, etc) var routePublisher = Engine…
主要用到: HttpStatusCodeResult 和HttpStatusCode 的http返回状态 比如: /// <summary> /// 使用异步模式 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task<ActionResult> Details(int? id) { /…
我的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; }…
ZTree是一个jquery的树插件可以异步加载 第一步定义一个标准的接口(指的是与ztree默认的数据元素保持一致) /// <summary> /// ZTree数据结构 /// </summary> public interface IZTree { /// <summary> /// 节点ID /// </summar int id { get; set; } /// <summary> /// 节点名称 /// </summary>…
在MVC网站的global.asax中的Application_Start方法里,有这样一段代码 protected void Application_Start() { //它的主要作用是将全局过滤器进行注册,而全局过滤器可以在RegisterGlobalFilters这个方法里进行设置 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); AreaRegistration.RegisterAllAreas(); WebApiCo…
做个无刷新的验证码功能: 第一步:首先,在公用项目中建立一个生成图片验证码的类型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引擎中,对于在表格中进行遍历时,一般会这样写 复制代码 <table border="> @{ ; i < ; i++) { <tr> <td> @i </td> </tr> } } </table> 但如果你的元素i,希望在一行显示2列,应该: <table border="> @{ ; i < ; i++) { == ) { Output.Write("<tr…
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…
1.从Controller后台赋值的html标签显示在前台不起作用的问题?比如后台:ViewData["Message"]="<span  style=\"color:red\">验证码不正确!</span>"view前台必须用@Html.Raw(),eg:@Html.Raw(@ViewData["Message"])2.ViewBag.Message和ViewData["Message&qu…
1.前台视图去找指定的控制器(非默认) 2.控制器去找指定的视图(非默认)…