随笔分类 - MVC3
摘要:public class BisController : Controller { // // GET: /Bis/ protected string GetJson(object obj) { IsoDat...
阅读全文
摘要:通过ModelMetadataProviders.Current.GetMetadataForType(null, dataType)方法来获取类型的ModelMetaData,通过ModelValidatorProvider的GetValidators(metadata,ControllerCon...
阅读全文
摘要:一、把路由添加到路由表, 二、注册ControllerBuilder(老板)和默认工厂(DefaultControllerFactory) 2.1默认工厂获取可以创建的Controller。 三、由于配置文件中含有IHttpModule的配置,所以会在HttpApplication的指定事件发生时执行注册的委托。 3.1路由数据根据HttpContext来获取RouteData, 3.2...
阅读全文
摘要:关于ActionName的使用。通常是get方法和post方法的函数名和参数都一样时,就要使用一个别名,为的是:可以通过编译,但是在Action上面要加上ActionName标签。可以参考冠军的音乐商店删除时的用法。
阅读全文
摘要:创造一个kernel,有两次使用:1、将接口的类型和具体实现接口的类型相绑定绑定,目的是为了告诉Ninject,当他接到一个接口类的请求时,他将会创造一个实现接口类的实例。而且是利用泛型实现的。用法如下 IKernel ninjectKernel = new StandardKernel(); ninjectKernel.Bind<IValueCalculator>().To<LinqValueCalculator>();2、使用Ninject的Get方法来创造一个接口的实例,并将其作为注入依赖。最终达到依赖的“宿主”可以调用抽象类的方法。具体如下:...
阅读全文
摘要:一、返回html形式的字符的两种方法:1.使用MvcHtmlString()return new MvcHtmlString("<form>Enter your password:<input type=text><input type=submit value=\"Log In\"/></form>");2.使用Html.Raw(str)@Html.Raw(@"<form>Enter your password:<input type=text><input typ
阅读全文
摘要:在mvc中,过滤器是无此不在,可能没有显示的去调用,所以很多人还不是很理解,本节就通过几个例子来说明一下mvc中过滤器的使用。一、过滤器概况 为什么说过滤器在mvc中无此不在呢?默认添加一个的控制器,会发现其继承的是Controller类,在Controller上面按F12转到定义:public abstract class Controller : ControllerBase, IActionFilter, IAuthorizationFilter, IDisposable, IExceptionFilter, IResultFilter其中上面的几个接口,带有Filter后缀名的,...
阅读全文
摘要:一、指向视图和转向URLView Code /// <summary> /// 指向MyView视图 /// </summary> /// <returns></returns> public ActionResult Index() { return View("MyView"); } /// <summary> /// 输入Derived/Redirect会转向Derived/Index /// </summary> ...
阅读全文
摘要:在mvc中路由的配置,直接关系着我们的请求访问的控制器和方法;url对seo有着重要作用,全靠mvc内部定义的配置路由和生成url的方法在有的时间是不够的,本文就来了解一下自定义配置路由和url的生成。一、RouteBase类简介在新建一个mvc项目后,打开global文件,可以看到路由的注册是使用一个RouteCollection类型的参数来实现的。按F12转到定义会发现,其继承了Collection<RouteBase>,除了一些MapRoute等一些方法之外还有一个Add方法,其签名为: public void Add(string name, RouteBase item.
阅读全文
摘要:一、根据路由系统生成友好的URLActionLink(this HtmlHelper htmlHelper, string linkText, string actionName);会根据当前的路由指定的Controller来为自己的URL指定controller值。特殊的如下://路由设置routes.MapRoute("NewRoute", "App/Do{action}",new { controller = "Home" });//ActionLink的代码如下:@Html.ActionLink("测试",
阅读全文
摘要:一、使用默认值的路由: //配置默认的参数,当输入http://localhost:4016/Home时,就会显示Home/Index,当然可以定义两个参数 //如果http://localhost:4016/Home/Index/?Page=1是有效的 //如果是http://localhost:4016/Home/Index/Page=1无效 routes.MapRoute("MyRoutes", "{controller}/{action}", new { action = "Index" });//...
阅读全文
摘要:Asp.netmvc中的模型绑定,或许大家经常用,但是具体说他是怎么一回事,可能还是会有些陌生,那么,本文就带你理解模型绑定。为了理解模型绑定,本文会先给出其定义,然后对通过比,来得出使用模型绑定的方便。最后简单的模拟一下自定义模型绑定,让大家对模型绑定有进一步的认识。一、模型绑定的概念mvcframework中有一种技术,他就是模型绑定:使用 被浏览器发送的http请求里面数据 来创建.net对象的过程。接下来就让我们来看看模型绑定的好处。二、模型绑定好处第二部分,我们通过不使用模型绑定和使用模型绑定的两种效果的对比,得出模型绑定的优势。那么接下来先让我们来模拟一个没有模型绑定的环境。2.1
阅读全文
摘要:Mvcmodel系列文章主要分为三部分:ModelTemplates,ModelBinding,ModelValidation。本篇文章主要内容包括下面三个部分:A.使用模板视图助手B.自定义视图模板系统C.理解元数据提供体系一、使用模板视图助手1.1助手体验 模板视图助手,我理解为MVC提供的根据model中定义的数据类型,来生成视图(View)标签的助手。显而易见其好处,当我们更改model中的数据类型时,不用担心要更改view。下面我们就来体验一下吧。先建立一个空的mvc解决方案,起名为ModelTemplate,如下图然后在models中新建一个类,在此只是为了演示,所以没有把下面三.
阅读全文
摘要:MVC架构模式•Models,其中包含或代表用户使用的数据。他们可以是代表视图之间传输的数据和控制器简单的ViewModels(在音乐商店中用过的),也可以是域模型(在音乐商店中的ShoppingCart模型),其中包含一个数据业务领域以及操作、转换和规则操纵数据。 •Views,用于呈现用户界面模型的某些部分。•Controllers,处理传入的请求,模型上执行操作,选择视图呈现给用户。 模型是应用程序工作的整体定义。在银行业的应用,举例,模型表示在银行的所有应用程序支持,如帐户,总帐,信贷限额的客户,以及可以使用的操纵模型中的数据,例如账户的存款和取款。模型还负责维护数据的整体状态和一致.
阅读全文
摘要:本章主要让读者对mvc有个认识,以便吸引读者能够感受到mvc架构的好处。主要的知识点:M/V/C各个部分的都有,但是都是粗略的提到,同时最后还介绍了mvc中的一个发邮件静态类WebMail。 1、关于View的返回值:我们可以返回字符串和ViewResult对象以外的其他操作方法的结果。例如,如果我们返回RedirectResult,我们会导致浏览器重定向到另一个URL。如果我们 返回HttpUnauthorizedResult,我们强制用户登录。这些对象统称为action的结果,他们都来自ActionResult类。(C层) 2、ViewBag是一个动态对象,您可以指定任意属性,随后...
阅读全文
摘要:前一段时间纯粹是为了赶时髦,学习了《深入浅出WPF》,感觉做笔记的效果不错,本来想继续钻研下去,但是想了很久,还是决定先放一下,主要原因是1.需要学习的东西太多,还是一本一本的学习!2.对web的喜好,本人实习的时间做过web开发,对web算是有个基础,感觉web的前景还不错。3.迫于找工作,目前感觉自己没有一门拿出手的手艺,马上就毕业了,所以就从web开始吧!4.练一下自己的英语阅读能力,四级都没有过的人,但感觉英语对我们从事计算机的有很大用途,所以我决定啃一下英语!综上所述,就拿《pro asp.net mvc3 framework》作为开始吧!由于本人属于英语菜鸟,英语四级没有过,为..
阅读全文