posts - 116,  comments - 268,  trackbacks - 1

随笔分类 - ASP.NET MVC

ASP.NET MVC
[原]ASP.NET MVC 3 Razor 表单还能再直观点
摘要:转载请注明作者(think8848)和出处(http://think8848.cnblogs.com)依照本人惯例,开篇先说些与主题无关的话:本来打算把写博客的这个习惯坚持下去,就算不能出精品,也能出一些水货,对于某些小问题提供点解决方案,但是今年的8月真可谓是多事之“秋”,很多事情都凑到一起去了,几乎没有时间学习新的东西,更别说去写博客了,9月眼看要过去一半了,昨天才憋出一个小东西,觉得还稍能滥竽充数下。打算用ASP.NET MVC实现公司的某产品了,昨天遇到一个问题:在异常发生时转回提交前的页面后,原来输入的内容不见了,这可是个大问题,记得以前我在写《ASP.NET MVC异常处理方案》一 阅读全文
posted @ 2011-09-14 13:22 think8848 阅读(1528) 评论(0) 推荐(1) 编辑
ASP.NET MVC 3 loginUrl自动变成Account/Login,并且发生404错误的解决方法
摘要:在ASP.NET中使用<authentication mode="Forms">时,如果在forms配置节中,没有指定loginUrl,那么根据MSDN上的说法,默认值是login.aspx,在指定loginUrl时,就使用指定的Url登录,这一直都没有问题,前几天做了一个用户登录的系统,指定了loginUrl值为:"~/Account/LogOn",登录一切正常,过了几天没再动这个项目,今天在登录时发现一个问题,在登录时发生404错误,这个令我莫名诧异,仔细一看Url,发现居然不知啥时候登录Url变成Account/Login了,于是仔细检 阅读全文
posted @ 2011-07-08 11:24 think8848 阅读(2851) 评论(2) 推荐(0) 编辑
[原]ASP.NET MVC 3 Razor 多国语言参考解决方案 补充四
摘要:前四回(1,2,3,4)介绍了在ASP.NET MVC 3使用Razor ViewEngine时实现多国语言的解决方案,本以为就够用了,没料到今天居然在使用时又遇到新问题了。先说需求,最近做了一套全新的页面样式,基本思路是在iframe中显示内容,那么毫无疑问,这些内容页就是MVC的视图了,但是主页以何种形式存在呢?.html?.cshtml?.aspx?如果是.html的话,最主要的问题就是实现多图语言,服务器端不处理,难道使用js不成?而且不知道未来还会不会有必须服务器端参与处理的事情呢;.aspx我也不愿意,说实话,我不喜欢aspx那繁琐的生命周期,更不喜欢.aspx那种自以为是,老是替 阅读全文
posted @ 2011-07-05 17:24 think8848 阅读(1023) 评论(0) 推荐(1) 编辑
[原]jQuery Tab插件,用于在Tab中显示iframe,附源码和详细说明
摘要:最近有个需求,需要在Tab中放置iFrame,于是做了一个jQuery的Tab插件。欢迎提bug或是建议,在有空的情况下我尽量完善。作者: think8848(公司主页: http://www.cleversoft.com, QQ: 166156888, Blog: http://think8848.cnblogs.com) 转载请保留此信息CleverTabs是一款jQuery插件,所需jQuery版本:1.6.1,jQuery UI样式版本:1.8.13;其功能为创建jQuery UI风格的Tab用于显示iframe。本示例中符加了jQuery.contextMenu插件,我修改了其样式, 阅读全文
posted @ 2011-06-25 18:06 think8848 阅读(5198) 评论(4) 推荐(2) 编辑
ASP.NET MVC中,在View和PartialView中"共享变量"的方法
摘要:最近在做一些比较基础的部分,做到界面时想到一个问题:在ASP.NET MVC(Razor View Engine)中,如果我要让多个项目之间共享一个_Layout.cshtml,那样的话对于维护程序和统一风格都是有比较大的帮助的。但是问题是,如果真的要共享的话,各个项目之间不同的元素该如何处理呢,比如:Logo,项目名称等。看到了_LogOnPartial.cshtml文件让我想起来一个方法,如果我在_Layout.cshtml里定义一个变量,然后再做一个Partial.cshtml,在这个Partial里为_Layout.cshtml中的变量赋值,这样不就行了吗,说简单点就是定义一个在Lay 阅读全文
posted @ 2011-06-15 15:43 think8848 阅读(4944) 评论(5) 推荐(1) 编辑
ASP.NET MVC中RESTful原教旨主义者的两个实现细节
摘要:刚才无意中看到《什么是REST?》一文。文章虽然很短,短到我几乎要鄙夷一下作者的程度,但是仔细看了下,确也发现本文着实有用。作为一名想尽量实现纯RESTful服务的人(或可称为RESTful原教旨主义者)来说,希望做出来的服务能尽量的符合RESTful原则定义,如果做出来一个RPC + ROA(面向资源的架构,其定义见《RESTful Web Services 中文版》)的服务,那还不如直接使用WCF算了,虽然,罗马不是一天建成的,我也不可能一上手就构建一个纯RESTful服务,但是尽量向标准靠拢还是很有必要的。文中提到了一些概念,我很快发现在我的实践中有两条不符合。其一:“REST式的Web 阅读全文
posted @ 2011-06-14 17:08 think8848 阅读(1678) 评论(3) 推荐(1) 编辑
[原]ASP.NET MVC亲自指定Action参数值
摘要:文章名字好难起哦,既想能清楚的表达本文的主旨,又想短小精悍,真难。为啥要“亲自”呢?我想表达的意思是,在自已写的程序中自已控制一切,这就叫亲自。说起这个词,还有一个典故(真人真事,如果雷同,实属巧合):在我上高三时,四班有一个位同学姓黄,名**,他以前在三中,后来转学到一中的。该黄姓同学一直在追求一种境界,到底是一种什么样的境界,很难描述...他可以在课堂上肆无忌惮的排放腹中废气,也可以在毫无征兆的情况下打个方圆30m之内其他房间可以听到的喷嚏,甚至可以和校长开玩笑,一次,他课间去嘘嘘,本来是不允许学生去教师的WC的,但他是无视这种规定的,他先到的,正在放水时校长进来了,他就和校长打了个招呼: 阅读全文
posted @ 2011-06-13 17:07 think8848 阅读(3000) 评论(7) 推荐(1) 编辑
ASP.NET MVC构建RESTful服务时返回Unauthorized(401)状态
摘要:这两天在构建RESTful服务的客户端,本以为已经一马平川了,没有想到就在下班时遇到一个问题。我打算在服务器商把所处理的HTTP异常状态(400-599))状态一一返回给客户端组件,客户端收到各个状态码后根据号码及从服务器端返回的Description Content来抛出客户端的异常,结果在测试401时发现一个问题:在我的设想中,收到401,然后再去读取Response中的Status Description(我使用了自定义格式,详见上篇博文),结果出乎意料的是,服务器端发出了401,结果客户端没有抛出异常,而且按照接收成功的状态去了读取ATOM Feed的代码,而解析ATOM Feed时报 阅读全文
posted @ 2011-03-31 23:09 think8848 阅读(2956) 评论(1) 推荐(0) 编辑
ASP.NET MVC + RESTful服务之HttpStatusResult
摘要:开篇语与本主题无关,我非常尊敬的一个导师好几天没有见到人,今天听说原来是病了,人也出现了。在此祝愿他身体康健,长命百岁!使用ASP.NET MVC构建RESTful服务时,想到一个问题:在使用POST,PUT,DELETE方法发送请求时服务器端如何回传响应?如果在操作过程中发生了异常情况,如何通知客户端?带着这个问题,尝试着构建了一个ActionResult的派生类:namespace System.Web.Mvc{ public class HttpStatusResult : ActionResult { public HttpStatusResult() : this(HttpStatu 阅读全文
posted @ 2011-03-30 15:26 think8848 阅读(2955) 评论(0) 推荐(0) 编辑
[原]ASP.NET MVC 3 Razor 多国语言参考解决方案 补充三
摘要:原以为可以使用之前的多国语言方案进行编程了,没想到第一个正式点的页面就卡了,为什么呢,因为通过HtmlHelper只能找到当前请求的View是哪个,如果这个View使用了Layout或是Partial就歇菜了。通过一番尝试,发现使用HtmlHelper.ViewDataContainer属性可以获得一个WebViewPage对象,这个对象中的VirtualPath对象代表当前正在Excute的页面属于哪个物理文件(.cshtml),于是修改代码如下: public static class LocalizationHelper { public static string Lang(this 阅读全文
posted @ 2011-03-20 14:57 think8848 阅读(1245) 评论(0) 推荐(0) 编辑
[原]ASP.NET MVC 3 Razor 多国语言参考解决方案 补充二
摘要:在上两篇(1,2)中提到了如何在应用程序项目中使用资源文件的问题,还没有测试在调用其他ClassLibrary中资源文件的情况,今早起来还按照以往ASP.NET项目中的作法做个测试使用资源文件: public class Class1 { public string GetTT() { return Resources.Test.TT; } }期望能像往常一样,随着浏览器中的语言选项的变换能出现自动切换效果,结果不出意料的失望了,只能显示没有带Culture信息的资源项值。(3月22日重要更新内容:在web.config的system.web配置节点下加入<globalization c 阅读全文
posted @ 2011-03-19 11:13 think8848 阅读(976) 评论(3) 推荐(0) 编辑
[原]使用ASP.NET MVC构建RESTful服务
摘要:说起选用ASP.NET MVC的原因,有两个:一.以Web编程的方式来编写Web程序,这句听起来有点拗口,但对比WebForm就会有明显的感觉了,WebPage为了模拟出WinForm,牺牲了太多的Web特性,而这些特性恰恰是在HTTP上很关键的东西;二.ASP.NET MVC上构建Web Service真是方便到了极点,为什么呢?基本上ASP.NET MVC的每个Action都像是一个HttpHandler一样,可以处理各种类型的请求,而且Controller和Fitler的运用,更使代码组织和功能扩展有了较强的提升;可以这么说,M$的框架,个人感觉MVC是比较合“口味”的,相比学完Silv 阅读全文
posted @ 2011-03-18 21:07 think8848 阅读(9232) 评论(2) 推荐(2) 编辑
[原]ASP.NET MVC异常处理方案
摘要:异常处理是每一个系统都必须要有的功能,尤其对于Web系统而言,简单、统一的异常处理模式尤为重要,当打算使用ASP.NET MVC来做项目时,第一个数据录入页面就遇到了这个问题。在之前的ASP.NET WebForm项目中,一般情况下都是在Application_Error事件处理器和ScriptManager_AsyncPostBackError事件处理器里面进行,在ASP.NET MVC中用这两种方法似乎都不合适了,该放在哪儿呢?总不至于在每个Action里面都放一个try{...}catch{...}吧。在ScottGu的博客里面提到了一个类:HandleErrorAttribute,似乎 阅读全文
posted @ 2011-03-18 11:10 think8848 阅读(6656) 评论(8) 推荐(5) 编辑
[原]ASP.NET MVC 3 Razor 多国语言参考解决方案 补充
摘要:话说当年张古董将老婆借给了李成龙,结果最后竟然一借不回了。这件事呢两个方面都要怪:张古董动机不纯,李成龙作人也不厚道,但一般情况下占人便宜是很上瘾的。Reflector没有人不知道吧,.NET用了好多年的人可能已经不需要再去看.NET源代码了,一来是之前看过了,二来是很多的实现方式和运行原理能猜个七七八八的,但是对于初学者以及想查看有些不常用的.NET类型源代码的人来说,没有Reflector真是挺难受的。但是前两天突然听到个消息,Reflector居然收费了!!!这么好用的一个工具,居然不给免费使用了???这就好像张古董把老婆借给李成龙一样,让李成龙夜夜笙歌,好不逍遥快乐,有一天突然张古董要 阅读全文
posted @ 2011-03-17 15:19 think8848 阅读(1287) 评论(1) 推荐(0) 编辑
[原]ASP.NET MVC 3 Razor 多国语言参考解决方案
摘要:3月22日整理:实用示例请参考:这里支持多国语言基本上是一个成熟产品必须支持的功能,但是直到想用这个功能时,发现居然找不到解决方案(很吃惊,真的没有提供么?),于是在网上搜索了好久,发现两种心仪的方案:1: ASP.NET MVC 多语言解决方案2:ASP.NET MVC - Localization Helpers这两种方案都是针对WebFormViewEngine的,对于想使用Razor的我来说,修改是必然的了先说说第二种,这个方法貌似核心是使用了HttpContext.GetLocalResourceObject()方法。但是问题在于在使用GetLocalResourceObject() 阅读全文
posted @ 2011-03-15 14:09 think8848 阅读(2992) 评论(1) 推荐(0) 编辑