随笔分类 - [61]MVC
-
ASP.NET MVC HtmlHelper用法大全
摘要:HTML扩展类的所有方法都有2个参数:以textbox为例子public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, IDictionary<string, Object> htmlAttributes )public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, Object htmlAttributes )这2个参数代表这个html标签的属性集合。使用方法如下 阅读全文
-
.Net MVC3 中前台异步获取json数据的实例
摘要:在mvc3中,最让人称道的当然还是路由的方便与先进之处,类似于java中的mvc,加载每一个页面(包括首页),都要先运行该页面对应的后台controller,处理页面的初始化数据(mvc中的数据传递问题这里不再讲述)、域名读取、权限操作等,然后返回相应的页面。本篇文章讲述如何从mvc的前台页面中异步获取后台的json数据。1.建一个mvc3的项目,取名叫MVC3Test(事先安装mvc3 version:1.13.113.0)2.修改About.cshtml,如下代码@{ ViewBag.Title = "About Us";}<script type="t 阅读全文
-
非常棒的 ASP.NET Web Forms 和 ASP.NET MVC 免费培训视频!
摘要:原文名称:Great Free Video Training on ASP.NET Web Forms and ASP.NET MVC原文地址:http://weblogs.asp.net/scottgu/archive/2011/05/15/great-free-video-training-on-asp-net-web-forms-and-asp-net-mvc.aspx最近我们在 http://asp.net 站点上发布了许多很棒的 ASP.NET 培训视频。这些很棒的视频由Pluralsight(一个很棒的 .NET 培训公司)创建,现在免费提供以供学习或者更新你的 ASP.NET W 阅读全文
-
Razor4Orchard v1.2
摘要:书接上回:Razor view for Orchard又添加了些新功能:1. Razor Filter for Body Part:正常Body内容,在开启此Feature后,可以启用对Razor表达式的执行: 1.1 开启Razor Filter 1.2 创建新页 2.3 查看效果 2.4 对比未开启Razor Filter的效果2. 在编辑Razor时 ,添加了TinyMce支持,可以作到HTML"所见即所得" 2.1 开启Razor TinyMce 2.2 使用TinyMce编辑Razor Page 2.3 查看效果3. 重新定义了Razor Model,添加了Con 阅读全文
-
Trigger4Orchard
摘要:说实话,写的太粗糙,真有点不好意思拿出来示人,可是又一想,写都写了,还怕给人看?!俗话有说,“丑媳妇早晚还是要见公婆”, 不是吗?!主要功能:通过自定义Razor(C#)表达式,对Orchard中Content的Handler添加处理程序,说白了,就是在内容有新建,发布等时,可以自已干点啥,比如:通过输入的内容创建另外类型的内容。支持IContentHandler 定义的全部事件:namespace Orchard.ContentManagement.Handlers {public interface IContentHandler : IDependency {void Activatin 阅读全文
-
Razor view for Orchard
摘要:本人刚刚创建了个项目Razor4Orchard(http://razor4orchard.codeplex.com/), 是为Orchard(http://orchard.codeplex.com/)开发的一个模块,使用了RazorEngine(http://razorengine.codeplex.com/)用于在Orchard页面上使用C#代码定制更加丰富的扩展功能。可以在asp.net mvc3项目中测试通过后*.cshtml 代码直接的粘贴至页面上使用。如何使用:1. 安装Razor4Orchard模块:从http://razor4orchard.codeplex.com/是下载Orc 阅读全文
-
Project Silk – Mileage Stats 项目架构初步分析(ASP.NET MVC 3) [转]
摘要:如果你正在学习ASP.NET MVC 3,HTML5,jQuery和浏览器客户端交互技术,推荐你下载Mileage Stats 范例程序,可更好理解如何使用当前技术创建当前的web应用程序,尤其关注如何架构一个企业级的应用程序。关于Mileage Stats项目的初步介绍,请参考《Project Silk – 基于ASP.NET MVC 3 的示例应用程序Mileage Stats》。 EntLib.com Team 尝试从架构的角度对MileageStats项目进行分析和解读,并计划运用到实际的电子商务系统中,欢迎大家参与交流和分享。MileageStats RI 运行的主要界面:Milea 阅读全文
-
MVC和三层 【转】热闹
摘要:这里说的MVC指的是设计模式里的MVC不是asp.net mvc。 既然MVC是一种设计模式,那么他就应该在任何地方都可以使用。比如三层。 有人说MVC里的V相当于三层里的UI,M相当于三层里的DAL + BLL。这么理解也不错,因为设计模式可以应用在任何地方,这么理解是完全可以的。但是我有另一种理解,大家看看对不对。 我觉得在UI层里面也可以使用MVC设计模式。请注意仅仅只在UI层里。还是用一个实例来说明吧,我不擅长讲原理。 假设我们要显示博客园的首页,再缩小一下范围,我们要实现首页的里博文列表。美工做出来的html是这样的(代码一),那么这个是不是V呢? 下一步,我们要把数据库里的数据填充 阅读全文
-
ASP.NET MVC3.0 入门指南 5 从控制器访问模型数据
摘要:从控制器访问模型数据本节,您将创建一个新的MoviesController类并编写代码读取电影数据并用视图模板在浏览器中显示他们。在继续前,请确保您的应用程序被编译。右键Controllers文件夹新建一个MoviesController控制器。选择下面的选项:Controller name:MoviesController. (默认. )Template:Controller with read/write actions and views, using Entity Framework.Model class:Movie (MvcMovie.Models).Data context cl 阅读全文
-
ASP.NET MVC 开发
摘要:本文提供了一些代码设计准则,目标是帮助ASP.NET MVC 开发人员创建可靠的应用程序,当然,你可根据实际应用程序选择合适的标准。本文由EntLib.com 小组翻译,欢迎分享和交流ASP.NET MVC 项目开发设计思路。Model建议 - Model RecommendationsModel是定义业务领域相关的对象,应该包含业务逻辑(对象如何动作和关联),验证逻辑(验证对象的有效值),数据逻辑(数据对象如何持久化),和会话逻辑(跟踪用户状态)。创建独立的Model项目,在ASP.NET MVC 项目中引用Model程序集。将所有业务逻辑放置在Model中。如将所有业务逻辑放置在Model 阅读全文
-
ASP.NET MVC 动态设置模板
摘要:在页面中添加如下代码(Page_PreInit事件代码中动态设置模板,前提是在页面Action中将用户信息存到ViewData["USER"]了):view sourceprint?<script runat="server">//动态设置模板protectedvoidPage_PreInit(objectsender, EventArgs e){switch(ViewData.Eval("USER.roleid").ToString()){case"1":this.Page.MasterPageFil 阅读全文
-
ASP.NET MVC : 实现我们自己的视图引擎
摘要:本文短址:http://s8.hk/2e0在ASP.NET MVC的一个开源项目MvcContrib中,为我们提供了几个视图引擎,例如NVelocity, Brail, NHaml, XSLT。那么如果我们想在ASP.NET MVC中实现我们自己的一个视图引擎,我们应该要怎么做呢?我们知道呈现视图是在Controller中通过传递视图名和数据到RenderView()方法来实现的。好,我们就从这里下手。我们查看一下ASP.NET MVC的源代码,看看RenderView()这个方法是如何实现的:protected virtual void RenderView(string viewName, 阅读全文
-
NVelocity for ASP.NET MVC【转载】
摘要:在我的这篇博文中,有这么一段话:“我一直在想,有没有办法可以单独限制View中的代码的访问权限,类似于trust level,只是这个trust level是用来限制模板中的代码。”。有读者johngeng问,为什么要用trust level来锁住view,他不是很理解。我的本意是,希望在view中,开发人员只能写某一些特定功能的代码,调用某一些特定开放的API,对于大部分安全级比较高的代码,比如读写文件等API或类库,不允许在view当中使用。这对于我们将模板开放出来,在线提供给我们的用户去修改的需求下是非常重要的。而目前,不管WebForm还是Razor,都是非常自由的模板,在View能做 阅读全文
-
ASP.NET之路由
摘要:说来惭愧,已经做了几个公司的项目,但是还没有系统的学习过ASP.NET MVC。就简单的凭以前的经验,然后遇到问题google一下,竟然也做完了项目。现在有点小空,准备系统的看一下MVC,下面记录一些我的学习笔记,方便以后查阅。1. 当你运行一个ASP.NET MVC的项目时,一个路由表在程序运行一开始就已经建立了。相关的代码在global.asax里面。程序一开始会与性Application_Start(), 注册你的路由规则到RouteTable.Routes中去。using System;using System.Collections.Generic;using System.Linq 阅读全文
-
Mvc学习
摘要:利用Attribute扩展MVC的Title和SitemapDozer 2010-12-05 20:26 阅读:1167 评论:11Unobtrusive JavaScript in ASP.NET MVC 3Dozer 2010-11-11 12:14 阅读:2476 评论:16多页面验证码冲突的解决办法Dozer 2010-10-19 18:11 阅读:1642 评论:2MVC 2.0+Entity Framework在使用依赖注入时遇到的问题Dozer 2010-10-16 14:18 阅读:1769 评论:0利用Attribute实现的 MVC动态表单Dozer 2010-08-05 阅读全文
-
Orchard: Razor介绍【转】
摘要:Orchard 使用模板来显示shapes,模板类似ASP.MVC的partial views概念。Shapes 是一个包含模型数据的动态对象,模板可以包括HTML标记代码片段、CSS样式、JavaScript等。视图引擎负责解析模板并且把shape显示在web页面。Orchard的默认视图引擎是Razor,本文介绍一下Razor。Razor语法是一个服务器端web页面标记语言,代码在服务器端运行生产HTML或者其他格式,然后发送到浏览器端。Razor支持C#和VB语言,文件扩展名为.cshtml或.vbhtml。服务器能够识别这些后缀名,运行这些代码展现shape。如果你想体验一下Razor 阅读全文
-
Orchard: Shape展现介绍
摘要:一个shape是一个动态数据模型,shape的目的是用来代替ASP.NET MVC中静态的视图模型,Orchard使用的模型可以在运行时更新。本文将介绍shape的概念以及如何使用它。如果你还不知道module的基本概念和开发可以看我之前写的文章,这里就不再重复,如果不知道.Net的动态对象的可以看看Creating and Using Dynamic Objects。介绍ShapesShapes是一个动态数据模型,它使用shape templates来展现UI,Shape templates是一个标记片段。Shapes的示例包括menus, menu items, content items 阅读全文
-
Orchard:处理1对多的关系
摘要:建立个人通讯内容时,从一个城市列表中下拉选择所在城市是非常普通的一个应用,这就是1-n的关系,本篇介绍Orchard如何支持1对多的关系。这里我们建立一个Address part,它将用在一个Customer content type中。The address part有address、zip code、city name、state。这个state和city将是一个1-n关系。本篇将不再介绍如何建立Model,不清楚地可以查看之前写的Orchard:把之前写的Map Content Part专为一个Widget来使用给address part生成模型以下为Address model的代码us 阅读全文
-
Orchard:打包和共享模块
摘要:前几篇文章我向大家介绍了几篇(Orchard: module开发基础技术知识)如何新建模块的文章,等你照着做完了,你可能会想着把你做的模块分享给大家Orchard提供一个模块打包的功能,你可以生成一个这个模块的打包文件。打开Orchard.Packaging功能你可以通过网站后台去打开这个功能,或者在命令行输入orchard> feature enable Orchard.Packaging打开。打包模块Orchard使用NuGet打包格式来生成模块包(一个有元信息描述的.zip文件)。NuGet基于OPC格式,这里有更多介绍http://en.wikipedia.org/wiki/Op 阅读全文
-
Orchard: module开发基础技术知识
摘要:在Orchard:如何生成Hello World模块、Orchard:使用VS2010来生成一个地图Content Part、Orchard:生成一个Content Part中介绍了如何生成Orchard的module,本篇简要介绍一下Orchard的展现流程以及之前介绍的一些handler、drvier之类的对象。Orchard rendering work生成content part需要增加的一些对象A content part itselfA content part recordA handlerA driverDisplay shapes (.cshtml Razor view fi 阅读全文