随笔分类 -  .net MVC

摘要:之前不小心看到EF的code first在appharbor上进行migration的时候比较麻烦,今天碰巧也要更新数据库了,顺便试试。modify modelpublic class SiteInfo : Entity{ [JsonProperty("id")] public string UserId { get; set; } [JsonProperty("sitename")] public string SiteName { get; set; } [JsonProperty("socialid")] public stri 阅读全文
posted @ 2014-02-19 00:01 $walker 阅读(1191) 评论(1) 推荐(1) 编辑
摘要:参考:Preventing Cross-Site Request Forgery (CSRF) AttacksValidating .NET MVC 4 anti forgery tokens in ajax requests 在mvc中,微软提供了一个简单的方法来防止CSRF,就是在前端form表单里加上Anti-Forgery Tokens razor的写法很简单:@using (Html.BeginForm("Manage", "Account")) { @Html.AntiForgeryToken()}后端只需要在action上加上[Valida 阅读全文
posted @ 2014-02-18 16:32 $walker 阅读(2502) 评论(2) 推荐(0) 编辑
摘要:有时候我们定义了如{controller}/{action}/{id}之类的路由规则,但是后面还可能跟上一堆可能会有可能不会有,但是路由规则是一样的,如{controller}/{action}/{id}/{usertype}/{group},我们能把id, usertype, group通通设成option吗?几个“可选”的参数显然会打架,maproute提供了一种曲线的方法,就是{*catchName},这个catchName你可以自定义,也就是说,把所有自定义的片段都用一个变量捕获起来,实例如下:routes.MapRoute("MyRoute", "{co 阅读全文
posted @ 2014-01-26 13:20 $walker 阅读(698) 评论(0) 推荐(0) 编辑
摘要:1,与MVC集成见http://simpleinjector.codeplex.com/wikipage?title=Integration%20Guide&referringTitle=Home我们自己建个MVC4项目测试1.1 nuget只需要安装Mvc的集成即可,其它的依赖会自动安装:Install-Package SimpleInjector.Integration.Web.Mvc1.2 Global.asax:protected void Application_Start() { AreaRegistration.RegisterAllAreas... 阅读全文
posted @ 2013-12-15 23:14 $walker 阅读(1112) 评论(0) 推荐(0) 编辑
摘要:这是一篇导航文,不是翻译。 MSDN对stub和shim的解释和使用场景演示:http://msdn.microsoft.com/en-us/library/hh549175.aspx 一个更详细的示例:http://www.richonsoftware.com/post/2012/04/05/Using-Stubs-and-Shim-to-Test-with-Microsoft-Fake... 阅读全文
posted @ 2013-10-08 19:23 $walker 阅读(1212) 评论(0) 推荐(0) 编辑
摘要:项目用到了highcharts.js来绘图,想本地导出,于是在github找到了这个项目ASP.NET Highcharts export module,当然,我说的是很久以前了,还在做MVC3项目的时候,当时一切顺利,把几个dll导入,修改web.config文件以支持自定义的http handler(以HighchartsExport.axd访问),并且立即导出成功。这一次再次用到了highcharts,同样需要导出,结果却死导不出,总是报404错误,不过就是mvc4+NF4.5而已。上述项目提供了两个web.config的示例文件,我一一测试,均失败,官方要求的是在web.config的 阅读全文
posted @ 2013-02-19 21:47 $walker 阅读(788) 评论(0) 推荐(1) 编辑
摘要:一个项目,开发环境是win7 ultimate x64, visual studio ultimate 2012,Oracle10g的数据库 技术选型有:.net framework4.5, Mvc4, entity framework 5, simpleinjector 再没有别的新货了,开发阶段倒是顺顺利利,全套VS环境嘛,考虑发布到服务器的时候就不同了: 服务器环境:windows s... 阅读全文
posted @ 2012-10-27 22:10 $walker 阅读(959) 评论(0) 推荐(1) 编辑
摘要:标题说得含糊,明确一些,就是如何用.net的窗体验证的机制让不同的角色被导向到不同的登录页面。 我们都知道设置窗体验证的各属性的时候,有一个验证未通过的话跳转到哪个url,可是假如系统中不同角色的登录页面是不同的话,你该如何处理呢? <authentication mode="Forms"> <forms loginUrl="~/Login" timeout="2880" /... 阅读全文
posted @ 2012-06-23 17:14 $walker 阅读(1701) 评论(0) 推荐(0) 编辑
摘要:这个问题发生在一个MVC3的网站上,事实上我试了一下,跑一个asp.net的网站,框架选择4.0会报同样的错误,英文版的同学会看到如下:"A potentially dangerous Request.Form value was detected from the client". 在4.0以前的年代,简单在页面头部标注一个ValidateRequest=’false’或者在web.confi... 阅读全文
posted @ 2012-06-23 15:12 $walker 阅读(733) 评论(2) 推荐(0) 编辑
摘要:MVC3的Controller和Action可以实现加一个[Authorize]的方式来验证,非常简洁,如:[Authorize(Users = "abc")],[Authorize(Roles = "user")]那么它是怎么实现的呢? 很简单,Authorize标签还是基于Forms验证的,验证用户非常简单,只要你请求页面的时候cookie里面有.net的验证票据(代码段1),它就会生成一个... 阅读全文
posted @ 2012-06-20 11:09 $walker 阅读(456) 评论(0) 推荐(0) 编辑
摘要:一个简单的语句:if(!/^\w+[\.\+]?\w+@\w+\.\w+$/.test(s)) alert("fail");运行时出错,原因是正则表达式里面出现了@于是我把正则改成了/^\w+[\.\+]?\w+@@\w+\.\w+$/因为razor的语法中@@是输出一个@符号的,可是结果还是报同样的错误,而我把上述写到页面空白处却是可以正常输出而且不报错,可见razor的语法写在<script>出现了问题,屡试不得其解,最终绕道解决:var v=@{ @:/^\w+[\.\+]?\w+@@\w+\.\w+$/ }if(!v.test(s)) alert(&qu 阅读全文
posted @ 2012-06-02 23:35 $walker 阅读(1457) 评论(0) 推荐(0) 编辑
摘要:直接上例子吧var plist=ViewBag.plist as IEnumerable<ZKX.Model.PatientInfo>;var cert= ViewBag.certsource as IEnumerable<ZKX.Model.CertTypeInfo>;//join到一个新的匿名对象var pext=plist.Join(cert, m => m.CERTTYPE_NO, t => t.CERTTYPE_NO, (m, t) => new { patient = m, cert = t });//使用<td>@item.p 阅读全文
posted @ 2012-03-15 21:06 $walker 阅读(440) 评论(0) 推荐(0) 编辑
摘要:在做一个mvc3项目的时候,发现有的页面的form标签没有生成(用@Html的方法),于是不得不手写原生的form标签,今天决定把问题找一找。 我的页面是这样的,一个layout页,里面有几个RenderSection,一个RenderBody <body> @RenderPage("~/Views/Shared/_top.cshtml") @if (IsSectionDefine... 阅读全文
posted @ 2012-03-15 14:13 $walker 阅读(947) 评论(2) 推荐(0) 编辑
摘要:首先,IIS Express是没有图形界面的,启动安装目录下的iisexpress.exe则可启动iisexpress,要想随系统系统并不显示黑窗口,可考虑将其注册成服务(还未测试)其次,添加网站:安装完成后会在“我的文档”目录下生成IIS Express的文件夹,在里面的config文件夹下找到applicationhost.config打开Site节点即为网站配置节点,每一个网站对应一个节点。<site name="mvc" id="2" serverAutoStart="true"> <application 阅读全文
posted @ 2012-03-09 16:13 $walker 阅读(538) 评论(0) 推荐(0) 编辑
摘要:假如你安装的是完整版SQL Server,那么使用Asp.Net的网站配置工具的时候会出现如下错误: 未能建立数据库连接。 如果尚未创建 SQL Server 数据库,请退出网站管理工具,使用 aspnet_regsql 命令行实用工具创建和配置数据库,然后返回到此工具以设置提供程序。 一般情况下,.net会默认让程序在当前网站的app_data目录里面找数据库,然后用sql server exp... 阅读全文
posted @ 2011-05-16 00:57 $walker 阅读(447) 评论(0) 推荐(0) 编辑