Unobtrusive JavaScript in ASP.NET MVC 3

Unobtrusive JavaScript 是什么?

<!--以下是常规Javascript下写出来的Ajax-->
<div id="test">
    <a href="/" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, httpMethod: 'GET', updateTargetId: 'test' });">测试</a>
</div>

<!--以下是Unobtrusive Javascript下写出来的Ajax-->
<div id="test">
    <a data-ajax="true" data-ajax-method="GET" data-ajax-mode="replace" data-ajax-update="#test" href="/">测试</a>
</div>

以上的代码分别是 MVC 3 在“关闭”和“开启” Unobtrusive JavaScript 后生成的 Ajax.ActionLink。

那 Unobtrusive JavaScript到 底是什么呢?简单地来说,就是一种代码分离的思想,把行为层和表现层分离开。

 

具体的可以查看维基百科下对 Unobtrusive JavaScript 的解释。

什么是团队精神?

本文是我在今天晚上新老成员见面会上发言的部分节选,希望能给大家带来一些思考~

同时,也虚心接受大家的批评。

 

……

首先,一提到翔工作室,在场的老成员一定会把它和“团队”这个名词联系在一起,我的个人博客上也写着这样一句话:没有最强的个人,只有最强的团队!相信每个老成员都会对“团队”这个名词有着自己独到的见解。今天呢,我主要就是想和大家谈谈我个人对团队的见解。

 

百度百科对团队精神的解释是:所谓团队精神,简单来说就是大局意识、协作精神和服务精神的集中体现。团队精神的基础是尊重个人的兴趣和成就;核心是协同合作;最高境界是全体成员的向心力、凝聚力,反映的是个体利益和整体利益的统一,并进而保证组织的高效率运转。

不知道大家有没有在上党课的时候听过这样一句话:对党忠诚,积极工作,为共产主义奋斗终身,随时准备为党和人民牺牲一切。

再看看上面这段话,如果你只看了前半部分,恐怕很多人对团队的理解就是,为团队牺牲自我,这样才是高尚的,伟大的。

多页面验证码冲突的解决办法

场景:

某网站在许多地方需要验证码(例如:文件下载、发表留言等),所以用户可能会打开多个包含验证码的页面,根据常规验证码实现的思路,会导致冲突,只有最后一个页面的验证码是可以用的,如何解决?

其他网站的“解决办法”:

1、大部分网站,例如中国移动和中国电信的网站并没有做任何优化,只有最后打开的一个网页的验证码可用。如果这个验证码仅仅是用来验证登陆的话问题不大。

2、中国联通的网站用一个小技巧解决了这个问题。给输入验证码的输入框绑定一个事件,每次获得焦点的时候获取一个新的验证码,这样也就保证了,不管你在哪输入验证码,每当你想要输入的时候,它就给你一个最新的。

3、xun6网盘的解决方案,用了一个key,给每一个验证码标一个key,这样也就防止了冲突。

authcode

关于各种音频&视频解码器的使用

一、开源?免费?怎么用啊…

ffmpeg, lame… 这些都是开源利器,最近在研究最新的音乐站,由于硬盘空间有限,再加上定位的需要,我们没必要放音质很高的音乐。

所以决定把用户上传的音乐压缩一下。

老习惯 google一下:c# 音频 转换

结果发现毫无头绪,后来才知道,原来最方便的方法是:调用ffmpeg,lame等开源利器!

 

这时候,问题来了,怎么用?

继续 google

还是毫无头绪! 自己看文档,却一直出错,悲剧啊~

 

相信很多朋友也遇到了类似的问题。

 

所以,本文给大家一些指导性的方法。不是告诉大家怎么用,而是告诉大家从哪里可以知道怎么用~

深入浅出 MVC 数据验证 2.0 [附演示源码]

今天在这里给大家介绍一下MVC的数据验证框架。

在1.0版中,很多朋友提出了怎么使用客户端验证,今天找了一些资料,发现了客户端验证的方法。

 

1、MVC中的数据验证框架有何优点?

 

在Asp.net时代,或者没有使用MVC的验证框架,一般是在BLL层中进行数据验证,但是BLL层的返回值又只能返回一个东西,比如一个字符串,而实际情况中,数据验证是很复杂的。

这时候,BLL层和网站会分离的不彻底,因为很多代码不得不在网站中写。

 

而在MVC的数据验证框架中,甚至可以不用BLL层,而在比BLL层更底层的Model层书写数据验证的代码。

并且最后能在网页上显示出来。

此图这就是最后的效果

1

MVC 小技巧总结

刚用MVC完成了一个小项目,MVC技术又有了一次提升,所以,再次写一点总结性的东西。

开发环境:Visual Studio 2010 RC, MVC 2 RC, Entity Framework, SQL Server 2008

 

1、不对IIS做任何修改,如何在IIS6下运行MVC?

 

这个可以参考我前面一篇文章

(原创,和微软官方做法不同,可以不修改IIS设置就达到目的)

传送门:http://www.dozer.cc/2010/02/run-mvc-in-iis6.html

浅谈网页中各种链接引用方法

 

本文是我平时实践而来,若有错误,请读者指出

在网页中的引用(比如引用css,js,img等对象),总的来说可以分为以下几种方式

<%--第一种方法--%>
<link href="/site.css" rel="stylesheet" type="text/css" />

<%--第二种方法--%>
<link href="site.css" rel="stylesheet" type="text/css" />

<%--第三种方法--%>
<link href="../site.css" rel="stylesheet" type="text/css" />

<%--第四种方法--%>
<link href="<%=ResolveUrl("~/site.css")%>" rel="stylesheet" type="text/css" />

 

下面,我在分析一下这四种方法的优缺点

在IIS6下运行MVC架构的网站

我为什么要写这个教程呢?

主要是为了解决把网站部署在虚拟主机上的人,因为你根本不能去配置虚拟主机 所以,用下面的方法,可以实现不配置IIS而使老版本IIS运行MVC。

首先,给大家推荐2个MVC的学习好去处:

1、重典MVC视频教程:http://www.youku.com/playlist_show/id_2416830.html

2、微软官方MVC教程:http://www.asp.net/mvc/learn(英文,但是…我这样没过4级的都可以轻易看懂了…)

看本文的人必须要有MVC基础,所以很多名词我就不解释了

在老版本的IIS中架设MVC有1个条件:必须安装 Framwork 3.5,SP1不是必须的。所以如果你的虚拟主机是2.0的,那就免谈了。现在市面上一般都升级到3.5了

如果你不具备这个最简单的条件,那你的服务器也就根本不能使用MVC架构的网站了

好了,接下来介绍下我们要做的几个步骤