如果url是 /home/index?id=3 直接Request就ok。
但是如果路由设定为:{controller}/{action}/{id}
url是 /home/index/3
这时想在页面View中获取参数id的值,该怎么获取?
查了下资料好多人都利用Action获取到参数值后,用Viewdata传到View中
例如
Controlers中的phonelist这样定义
public ActionResult phonelist(int id)
{
ViewData["id"] = id;
return View();
}
其实,没有必要,只要在view中这样获取就可以:
<%=Html.ViewContext.RouteData.Values["id"]%>
就算没有id的参数也不会报错。
同样:<%=Request.RequestContext.RouteData.Values["id"] %>和
<%=Html.ViewContext.RouteData.Route.GetRouteData(Html.ViewContext.HttpContext).Values["id"]%>
也可以取到。
分类: ASP.Net MVC, C#
ASP.Net MVC
mvc1.0
摘要: 关于Razor因为最近我身边的朋友和博客的博友,似乎对MVC3和Razor没有什么好感,甚至于认为微软开发Razor是走在另一条错误的路上。虽然我也没有在项目中实际用到Razor,但是一直以来都还是挺关注Razor的进展,对它的语法也是了解一二,总体感觉就是更为干净和流畅了,其它的并没有更深的认识。晚上在看ScottGu文章的时候,一段代码片段立即吸引了我:你知道这段代码哪里吸引了我吗?没错,就是C#代码与html结合的非常流畅,(特别是它在花括号的处理上面,真的是让我眼睛一亮,因为目前最讨厌有花括号的ASPX代码了),相应的ASPX语法是这样的:从两个代码片段对应,至少两点非常吸引我:ASP阅读全文
摘要: 一、Uploadify控件 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好,无刷新,带上传进度等等。在最近的一个webform开发项目中,我就是使用的Uploadify,虽然有些小瑕疵,但是基本上还是满意的(在webform中使用Uploadify可以参考《JQuery上传插件Uploadify使用详解》),所以当现在使用MVC开发的时候,自然将之作为首选。Uploadify官方Demo二、在MVC中使用Uploadify首先引入js和css文件:<script src=&quo阅读全文
摘要: ----- 概述 ----- 1.HTML中 id="form_upload" 表单的target 属性要指向页面中不可见的 iframe( id="hidden_frame") 这样提交到 ifrmae 中的请求会刷新这个不可见的帧2.使用 TestSubmit() 方法提交数据就是因为方便传一些自定义的参数(currentPath)3.服务器端的代码自己去研究吧!注意的是如果成功需要调用一个回调函数 UploadCallback 刷新页面,这个回调函数要写在响应流中----------------一、HTML 内容 <!--begin 上传文件阅读全文
摘要: 错误原因,在使用ado.net entity的时候,entity使用的数据库是sqlserver 2008,但后来实际使用中使用的数据库是sqlserver 2005 使用的 SQL Server 版本不支持数据类型“datetime2” The version of SQL Server in use does not support datatype ‘datetime2 解决办法 Open your EDMX in a file editor (or “open with…” in Visual Studio and select XML Editor). At the top you will find the storage model and it has an attribute ProviderManifestToken. This has should have the value 2008. Change that to 2005, recompile and everything works. 就是打开你的edmx文件,搜索ProviderMan阅读全文
摘要: asp.net entity 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 3 ("@0"): 数据类型 0xA7 的数据长度或元数据长度无效。在我们用ado.net entity framework 做数据层提交数据时如果对应数据库有字段为text 类型时在SSDL中映射为Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><PropertyName="FBody"Type阅读全文
摘要: 知道实体主键,可以这样直接删除,不用再读取一遍Repository target = new Repository();actual = target.DeleteSave(new News { NewsID = 3 });阅读全文
摘要: Asp.net Mvc Framework在.net 2.0 在不同版本的 IIS 上使用 ASP.NET MVC(转) ASP.NET MVC Framework 依赖于 URL 路由。为了利用 URL 路由,可能不得不在 Web 服务器上执行额外的配置步骤。这些步骤取决于 Internet Information Services (IIS) 的版本和应用程序的请求处理模式。阅读全文
摘要: 过去,在将JavaScript脚本和CSS文件部署到Web服务器之前,我习惯使用压缩工具进行压缩再部署,安装Chirpy后,你的脚本和CSS文件将会基于其名字自动压缩,例如,假设你有一个名叫myscript.js的脚步文件想要压缩,只要你将其重命名为myscript.yui.js,它就会调用YUI压缩程序自动压缩,压缩后的文件在解决方案资源管理器中显示为一个子项目,你可以继续查看和调试未经压缩的脚本。 Chirpy Zippy安装步骤: 1.将源文件解包,并添加到相应的文件夹 2.在Visual Studio里打开一个新的实例,点击工具>添加新的管理 3.看到下图表示安装完成。 2阅读全文
摘要: 前言 本来使用Forms Authentication进行用户验证的方式是最常见的,但系统地阐明其方法的文章并不多见,网上更多的文章都是介绍其中某一部分的使用方法或实现原理,而更多的朋友则发文询问如何从头到尾完整第实现用户的注册、登录。因此,Anders Liu在这一系列文章中计划通过一个实际的例子,介绍如何基于Forms Authentication实现:l 用户注册(包括密码的加密存储)l 用户登录(包括密码的验证、设置安全Cookie)l 用户实体替换(使用自己的类型作为HttpContext.User的类型) 有关Forms Authentication的原理等内容不属于本文的讨论阅读全文
摘要: 找到了多个与名为“Home”的控制器匹配的类型。如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间来搜索匹配此请求的控制器,则会发生此情况。如果是这样,请通过调用采用“namespaces”参数的“MapRoute”方法的重载来注册此路由。阅读全文
摘要: 使用mvc2里面的area让网站更有条理 最近装了mvc2 pr2版本,看了下说明文档,里面着重提示说更新了area项目,因此着重看了一下。若干心的,和大家共享,有错没错,欢迎大家拍砖。没有Areas前相同问题的处理在mvc1.0时代,如果要将网站按目录结构来区分。例如Website/IndexAdmin/ Index User/ Index……/……通常都是在Views下面建立若干个和Controller相对应的目录,然后在里面放置aspx页面ViewsWebsiteIndex ViewsAdminIndexViewsUserIndexViews..............这阅读全文
摘要: MVC2.0 用Area 扩展项目的目录结构 Area是MVC2.0里新特性,但是感觉在项目中应用的不是很多,也许是项目比较小吧,没有在意目录结构的整理,举个例子来说吧,比如我们在管理自己项目的后台时候需要建立一个Admin目录,总感觉Admin建在View目录下不是很好,而且对URL显示也不是很完美..比如/Admin/index.aspx… 如果能有一个目录来单独管理Admin 是很完美滴… 在 MVC1.0时没办法实现这个功能,MVC2.0 提供了Area 特性,用来管理越来越庞大的项目目录结构..在VS2010里面项目上右键.添加…输入名称之后..目录结构会变成: 其中Admin 就是阅读全文
摘要: 我记得在ADO.NET EF 1.0中,如果用query.Where().Where()写法生成的SQL比较弱智,就是嵌套一层一层的子查询,那么再VS2010有没有改进捏???我做个例子检验一下。新建一个ASP.NET MVC2的工程,数据库就用SQL2000就有的Northwind,只用一个Customers表。直接在HomeController上加Query方法,默认情况下显示全部。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->[Http阅读全文
摘要: Entity Framework 4 第一篇 POCO在EFv1版本中,并没有提供对POCO(Plain Old CLR Objects)的支持。目前,在.Net4.0 Beta2中的EF 4完善了很多。可以预见,正式的EF4版本应该会有很多改进和完善。在EF4中的提供了对POCO的支持。并支持的数据定义语言(DDL)。这样,我们可以不需要事先生成EDMX文件,而是通过代码编程来实现对数据的操作(Code Only)。下面,介绍在EF4中利用POCO来实现数据定义操作。第0步:准备工作:操作系统:Windows 7旗舰版开发环境:VS2010 Beta2+SQL Server2008第1步:先阅读全文
摘要: 使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要。@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明。这种方式非常方便,只需几个简单的属性设置,就能够实现页面的输出缓存 策略。@ OutputCache指令声明代码如下。 @ OutputCache指令代码 <%@ OutputCache CacheProfile =" " NoStore= "T...阅读全文
摘要: public static int Flag = 1; if ((Flag+=1) > 10000) Flag = 0; long random = Convert.ToInt64(DateTime.Now.Ticks.ToString().Substring(DateTime.Now.Ticks.ToString().Length - 10)) + Flag;阅读全文
摘要: dhl:asp.net mvc 在View中获取Url参数的值阅读全文
摘要: 本文出自:http://www.cnblogs.com/JeffreyZhao/archive/2009/03/09/no-dependency-to-httpcontext.html 我们继续《ASP.NET MVC单元测试最佳实践》,今天主要谈论HttpContext的依赖问题。 在ASP.NET中进行单元测试的天敌便是HttpContext,它是ASP.NET的核心,极端复杂,却无法进行...阅读全文
摘要: asp.net mvc2中的<%:l.Content %>和<%=l.Content %>的区别阅读全文
摘要: 对于Body的Onload事件和JQuery的Ready方法相比,有很多弊端.比如:1.加载多个函数的问题<body onload="a();b();"></body>在Onload事件中只能这样加载,很丑陋…而在JQuery中你可以利用多个JQuery.Ready()方法,它们会按次序依次执行2.代码和内容不分离 这个貌似不用说了,让人深恶痛绝-.-!!3....阅读全文
摘要: 实例:然后3个联合的时候:就出现“/”应用程序中的服务器错误: 在单个 LINQ to Entities 查询中的两个结构上不兼容的初始化过程中出现类型“Taoxue.Entities.DTO.TeacherAccountInfo”。类型可以在同一查询中的两个位置初始化,但前提是在这两个位置设置了相同的属性,且这些属性是以相同的顺序设置的。 代码改为...阅读全文
摘要: Controller 提供了众多的方法让我们返回各种类型的 ActionResult。1. View最常用的一种,用于返回一个 "标准" 页面。这个页面默认是 ViewPage,也可以是我们自己定义的其它模板引擎页面。MVC 还提供了强类型的 ViewPage<TModel>。Index.aspx 在 WebForm 时代,我们就已经习惯了将一个页面分解成多个 UserControl,...阅读全文
摘要: 登录:注销:判断是否登陆:webcofig:没有登录时候ie地址栏:http://localhost/Account/Login?ReturnUrl=%2fShoppingCart%2fpayment%3flid%3d1%26classid%3d10010%26type%3dbuy&lid=1&classid=10010&type=buy阅读全文
摘要: KeyValuePair 的基本用法阅读全文
摘要: 原因是: 在4.0中,请求验证在页面和ACTION验证之前进行.因此设置validateinput并不能禁用验证.msdn说明如下:RequestValidationMode 属性指定要使用的 ASP.NET 验证方法。 这可以是在 ASP.NET 版本(早于版本 4)中或在 .NET Framework4 版 中使用的版本中使用的算法。可以将属性设置为下列值:4.0(默认)。 HttpReque...阅读全文
摘要: FavIcon.ico是一个特殊的文件,它是浏览器请求一个网站时出现的。某些浏览器在书签和收藏夹中使用这个图标。在与这些图标相关的网站被打开时,某些浏览器也在标题栏或浏览器标签中中显示这个图标。当一个浏览器试图从一个ASP.NET MVC Application中取得这个FavIcon.icon文件时,应用程序(application)抛出一个异常 (ArgumentNullException)。...阅读全文
摘要: asp.net mvc下用jQuery实现无刷新分页阅读全文
摘要: 枚举的另一种用法:C#中字符串和枚举类型互转阅读全文
摘要: 方法1:private TaoXueDBEntities _TaoXueDBEntities = new TaoXueDBEntities();//销毁TaokeRepository的时候才能销毁_TaoXueDBEntities 建议采用using方法。public IList<Lesson> GetAllLesson(){var query = _TaoXueDBEntities....阅读全文
摘要: 如果想创建如同 ASP.NET MVC Framework 中标准的 HTML Helper 一样工作的 HTML Helper,则需要创建扩展方法。扩展方法可以用于向现有类添加新的方法。创建 HTML Helper 方法时,会将新方法添加到由视图的 Html 属性表示的 HtmlHelper 类中。程序清单 3 中的类将扩展方法添加到名称为 Label() 的 HtmlHelper 类中。关于此...阅读全文
摘要: ASP.NET MVC + Jquery实现Ajax下拉框数据2或3级联动(+用户控件)阅读全文
摘要: vs2010 -EF4.0 数据层的实现: 通过反射返回泛型的工厂阅读全文
摘要: EF4.0中Entities执行sql语句阅读全文
摘要: RSS全称Really Simple Syndication。一些更新频率较高的网站可以通过RSS让订阅者快速获取更新信息。RSS文档需遵守XML规范的,其中必需包含标题、链接、描述信息,还可以包含发布时间、最后更新时间等信息。本文将介绍通过LINQ to XML生成XML文档,并在ASP.NET MVC Web应用程序中输出。在生成RSS文档前,先简单了解一下RSS的结构。根节点rss下有cha...阅读全文
摘要: 之前经常看到有人问使用了ADO.NET Entity Framework或Linq to SQL的项目该如何分层。EF或Linq2SQL自己生成了一个实体类,由于一般实体类都贯穿整个项目,如果把这个自动生成的实体类作为整个项目实体类的一部分,那么整个项目中的大多数类都将对数据访问层有依赖。当数据库结构变动或者数据访问层有变化时,整个项目很可能随之而动,这样的设计并不是很好。但是在此之前MS给的一些...阅读全文
摘要: ,我的数据库有个Users表,三个字段,id,username,createtime。id是int型,自增长,主键username是nvchar(10)型,不允许为空 createtime是DateTime型字段,不允许为空,默认值 是getdate()如果用Entity框架生成实体类,直接添加数据,不指定createtime,那就会在SaveChanges时出错: using (LinqDemo...阅读全文
摘要: 1.如何让Controller不返回视图?(比如仅执行一些数据库操作)很简单,只要在Controller中定义一个void类型的public方法即可view sourceprint?01public void DeleteData() 02{ 03using (SQLiteConnection conn = new SQLiteConnection("Data Source=" + Server....阅读全文
摘要: 最近几周,在博客、Twitter和论坛上如火如荼地展开了一场讨论。讨论的内容是:开发人员是否应该使用或学习ASP.NET MVC。从“不推荐学习”到“所有ASP.NET开发人员都应该学习”,各种不同的观点层出不穷。InfoQ对其中部分讨论内容进行了总结。 Rob Conerey(SubSonic之父,目前是微软ASP.NET MVC团队的一员)解释了...阅读全文
摘要: .Routing的作用 第一讲中实例的首页地址是: localhost/home/index我们发现访问上面的地址, 最后会传递给 HomeController中名为index的action(即HomeController类中的index方法).当然服务器端不会自己去实现这个功能, 关键点就是在Global.asax.cs文件中的下列代码:回来看我们的Url: localhost/home/ind...阅读全文
摘要: Html.RenderPartial,Html.RenderAction 与Html.Partial 的区别阅读全文
摘要: Linq如: var v = from l in _dal.Share where l.PingcoId == pingcoId && (l.CreateTime.Date == DateTime.Now.Date) select l; return v.ToList();会报错:LINQ to Entities 不支持指定的类型成员“Date”。改成这样O...阅读全文
摘要: <customErrors mode="Off" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </custom...阅读全文
摘要: //ajax无法跨域改用getJSON var url = "<%=webcode.PublicMethod.url.HttpAndPoint%>/call/ChatSubmitJson?callback=?"; var data = { wrEditor: encodeURI(showdData,"utf-8"), id: "<%=ViewData["id"]%>" };...阅读全文
摘要: httpHandler.ProcessRequest(HttpContext.Current);传入的请求不与任何路由匹配-解决方案 默认规则"{controller}/{action}/{id}"被修改如:"{controller}.mvc/{action}/{id}",改回来"{controller}/{action}/{id}", 就可以了阅读全文
摘要: public ActionResult upload2() { try { HttpFileCollectionBase files = Request.Files; for (int iFile = 0; iFile < files.Count; iFile++) { HttpPostedFileBase postedFile = files[iFile]; string fileName = System.IO.Path.GetFileName(postedFile.FileName); if (!string.IsNullOrEmpty(fileName)) { postedFile.Sav阅读全文
摘要: checkbox的值阅读全文
摘要: “无法更新EntitySet“*****”,因为它有一个DefiningQuery,而<ModificationFunctionMapping>元素中没有支持当前操作的<InsertFunction>元素”问题的解决方法遇到RT的问题的原因很尴尬,其实很可能就是没有定义这个表的主键,至于为什么没有定义主键,这个…...阅读全文
摘要: 附数据库结构:代码:[代码]调用 :[代码]注意点: 循环不能用foreach(foreach是取只读的,在取的时候数据不能变(包括修改,删除,添加等)。)否则会报错误:集合已修改;可能无法执行枚举操作(进来看) 前台页面:[代码]最终样式:-家用电器-大 家 电-洗衣机-家庭音响-空调-洗衣机-生活电器-吸尘器-电熨斗-取暖电器-加湿器-电话机-厨房电器-电磁炉阅读全文
摘要: 完全不使用配置文件构建和使用WCF服务只使用代码而不用配置文件的情况不适合IIS为宿主的情况,IIS宿主必须使用配置文件配置WCF的ServiceHost。1、 服务端1.1. 准备Contract和实现Contract的服务很简单的一个Contract(Interface)和实现这个Contract(实现这个接口的类)的服务。这是VS2005中使用add new item,选WCF Servic...阅读全文
摘要: 留言簿的例子:使用WCF的多层构架。我们将会建立以下项目:l A,网站项目 WebSite:留言簿表现层l B,类库项目 Contract:定义数据访问服务的契约l C,类库项目 Service:定义数据访问服务l D,类库项目Entity:留言簿实体l E,控制台项目Host:承载数据访问服务项目之间的引用如下:l A引用B和D;l B引用D和System.ServiceModel程序集l C引...阅读全文
摘要: MSDN上最近发表了一篇Elisa Flasko著的文章,比较了LINQ to SQL与LINQ to Entities适用的场景:Introducing LINQ to Relational Datahttp://msdn2.microsoft.com/en-us/library/cc161164.aspx 作者指出,LINQ to SQL主要的应用场景是针对微软SQL Server数据库的快速...阅读全文
摘要: LINQ to Entities是Ado.net Entity Framework的查询语言之一,它为了更好的兼容更多种的数据库所以在使用方法上有所精简,比之linq2SQL却少了一些好用的方法,下面就说一下这些日子来使用它时遇到的问题及解决方法以下只列出了完全Not supported的内容,部分supported的方法都可以通过简单的增简参数解决1.Contains这一函数在linq2sql中...阅读全文
摘要: 保持重典的风格,先看一下最终的效果. 前言这事吧,还得从Linq to Sql说起近乎所有的Linq to SQL的查询中总是免不了exec sp_reset_connection 与Audit Logout(就 是数据库连接)这一进一出,费时太多,于是近半年来每个月总有那么几天来研究它网上呢,解决方案不是没有using (TransactionScope ts = new Transaction...阅读全文
摘要: [代码]HTML后:快速购买: <a href="/Shop.mvc/Buy/1?ShopType=1&MoneyType=Golden&BuyNum=1">1</a> <a href="/Shop.mvc/Buy/1?ShopType=1&MoneyType=Golden&BuyNum=1">1</a&...阅读全文
摘要: 新的ADO.NET Entity Designer; 阅读全文
摘要: 介绍Entity Framework是如何使用的。在此之前,必须下载ADO.NET Entity Framework runtime 和tools,官方也提供了很多示例下载。下面正式开始ADO.NET Entity Framework之旅(开发工具VS 2008 beta,以Northiwind数据库为例)。ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出...阅读全文
摘要: 阅读全文
摘要: Linq之group by 学习 使用:linq查询工具可以帮助深刻理解!阅读全文
摘要: 一个Action:[代码]另一个:[代码]以上这个没有问题,只是在“摩洛哥”下支持302跳转(有时候不支持,sid要自己带。), 但是不支持session。所以Tempdata过不去。(没有提示信息)如果用以下方式:[代码]注意要把FriendFarm 的Action的Farm模型带过去。阅读全文
摘要: 1. View最常用的一种,用于返回一个 "标准" 页面。protected internal virtual ViewResult View(string viewName, string masterName, object model){if (model != null){base.ViewData.Model = model;}return new ViewResult { ViewNa...阅读全文
摘要: RenderPartial 和 RenderAction 阅读全文