大概有5年没有做网站了,最近帮朋友做一个小网站,正好体验一下ASP.NET MVC2。

花了两个周末整整4天时间编写了整个网站的网页框架和后台代码,美工设计和产品内容的填充是别人做的。
接下来说一下这次做网站的几点心得:
1)5年前对于小网站来说只要IE6中排版没问题就行了,现在则不同了,要考虑IE8、Firefox、Chrome等。
第一个问题就是在IE6/IE7里CSS的text-align属性不仅对文字起作用,对盒子也起作用。
因此如果用text-align做右对齐或居中对齐在IE8里排版就会乱掉。解决方法是右对齐设置float属性,
水平居中则没有直接的方法,可以通过设置margin-left:auto和margin-right:auto来实现。
第二个问题是盒子的宽度和高度是否包括padding,是否包括margin,对于CSS2的模型很不习惯。
2)绝对定位,指定position:absolute后并不直接相对于所在的容器定位,需要父对象有定位设置。
3)IE6/IE7不支持displayed:inline-block,支持该属性的呢block之间的间距不一样。
4)使用P元素时,段落与容器的间距IE8与Firefox的显示不一致,后来改用span和相对定位。
5)刚开始有很大一部分时间花在写CSS调整排版,由此感慨啊WPF的Panel和Style是多么的好用,LaTex的盒子排版模型又是多么的先进。
W3C真应该考虑一下简单性、一致性、正交性、完备性之类的问题。
以上说的都是CSS,接下来进入正题ASP.NET MVC2。
1)看着VS自动生成的代码,经过简单的学习就上手了。关键是HtmlHelper,UrlHelper,ViewData的使用。
2)MVC最大好处一是最终生成的页面不像以前的ASP.NET页面那么臃肿了,浏览器下载和加载会快一些。
二是URL直接对应服务器方法的调用,而且返回的结果比较灵活。
3)整体来看,使用MVC后需要书写的代码量减少了,对于一些典型问题有封装好的解决方法。
4)使用MVC后对JavaScript的依赖提高了,很多功能适合用JavaScript来实现。结合Ajax用户体验变好了。
5)支持ASP.NET 4.0的网站空间目前比较难找而且价格高,这倒是个问题。
下面是几个技巧:
1)表单验证失败后,直接返回View,已填写的内容就会清空,可以这样做:
ViewData.ModelState.AddModelError("FormValidator", message);
foreach (string field in Request.Form.Keys)
{
       ViewData.Add(field, Request.Form[field].Trim());
}
然后Form中用HtmlHelper创建的Input控件会自动从ViewData中获取value。
2)输出纯文本:return Content(message, "text/plain", Encoding.UTF8); 或者
return new ContentResult { Content = message, ContentType = "text/plain", ContentEncoding = Encoding.UTF8 };
显示PDF文件:
return File("~/Content/developersguide.pdf", "application/pdf", "developersguide.pdf");
3)HTML的select元素默认第一个选项是选中的,需要javascript执行oSelect.selectedIndex = -1;变成不选中状态。

转载于:https://www.cnblogs.com/rufi/archive/2010/06/27/1766199.html

第一次用ASP.NET MVC2 做网站相关推荐

  1. Asp.net MVC2.0系列文章-运行Web MVC2.0 Demo

    安装VS2010 首先安装VS2010,安装过程请参考文章: http://www.cnblogs.com/ywqu/archive/2010/01/27/1657450.html. 创建第一个MVC ...

  2. Asp.Net MVC2.0 Url 路由入门---实例篇

    本篇主要讲述Routing组件的作用,以及举几个实例来学习Asp.Net MVC2.0 Url路由技术. 接着上一篇开始讲,我们在Global.asax中注册一条路由后,我们的请求是怎么转到相应的Vi ...

  3. ASP.NET MVC2+MSSQL+Godaddy

    先感谢一下博客园,在网上浪了这么长时间,现在发现还是博客园的文章技术含量要高一点! 现在言归正传,最近在课外学习ASP.NET MVC,也在微软的官网上学了一些例子教程,现在刚好有机会可以实践一下,一 ...

  4. Asp.net MVC2.0系列文章-MVC简介篇

    使用微软VS工具开发Web应用程序主要有两种方式:一种是常用的创建Asp.net Web Forms,另外一种就是今天着重介绍的Asp.net  MVC. <?XML:NAMESPACE PRE ...

  5. Oxite移植到ASP.NET MVC2 BETA 笔记(关于Html.RenderPartialFromSkin)

    在将Oxite移植到asp.net mvc2 beta平台后,经过一系列有关"方法调用"变更的修正后,终于能够通过编译运行起来了!(移植后的源码参见:http://ecubecms ...

  6. Asp.net MVC2.0系列文章-编辑和删除新闻操作

    上一篇文章,我们简单地完成了新闻内容的展示功能(Asp.net MVC2.0系列文章-显示列表和详细页面操作),此篇文章,我们使用Asp.net MVC2.0实现新闻记录的编辑和删除功能. 创建Vie ...

  7. [ASP.NET MVC2 系列] ASP.NET MVC 之如何创建自定义路由约束

     [ASP.NET MVC2 系列]      [ASP.NET MVC2 系列] ASP.Net MVC教程之<在15分钟内用ASP.Net MVC创建一个电影数据库应用程序>      ...

  8. 【飞秋】Asp.net MVC2 model验证 看似美好,实则让人失望。

    最近几天看了一下Asp.net MVC2的model验证,初始的感觉让我眼前一亮,于是去看了看它的源代码,Validation和Metadata部分应该是从Dynamic Data哪里得到的灵感,一切 ...

  9. 一起谈.NET技术,ASP.NET MVC2.0在Tab页中实现异步无刷新分页

    概述 很多地方都存在以Tab页来呈现数据的方式,比如网易.新浪.搜狐.QQ等知名的门户网站的首页,还有大家熟知的博客园首页,都是用了tab页来显示数据.大家之所以喜欢用Tab,因为它能大大的增加显示数 ...

  10. Asp.net MVC2使用第三方控件

    ASP.net MVC框架提供了大量的HTML渲染的方法和控件,但是使用起来有诸多的不便.对于有经验的设计者使用HTML helpers可以构建一个简单的用户界面,然后加上一些HTML和css就能构建 ...

最新文章

  1. 【小白学习keras教程】三、Kears中常见模型层Padding、Conv2D、MaxPooling2D、Flatten和Dense
  2. windows安装mysql5.7
  3. Android 系统(252)---Android:BLE智能硬件开发详解
  4. linux date -s_Linux炫技:左手密码生成器,解放右手生产力
  5. LNMP3.0一键安装
  6. C#中DataGradView控件的常用操作
  7. document.all用法
  8. 细说Oracle11g RAC的IP地址
  9. 计算机组成原理与汇编语言试题,2069电大《计算机组成原理与汇编语言》试题和答案2005...
  10. Spring学习(全)
  11. java识别验证码图片_Java识别图像、验证码
  12. 使用jqery模拟网易严选购物车功能
  13. 设计师胡晓丹的创作历程
  14. 里奥·梅西(Lionel Messi)-----球场上舞动的红蓝精灵
  15. 上班路上快一倍,长途出门快一半
  16. 健康数据的获取 Iphone
  17. 对于Jenkins和gitlab连接的注意事项
  18. pytorch加载训练数据集dataloader操作耗费时间太久,该如何解决?
  19. js 通过传入 开始时间和结束时间 算出相差多少秒 分钟 相差时间
  20. jieba分词词性标注含义

热门文章

  1. 《程序员自我修养》阅读笔记-可执行文件装载与进程
  2. Django搭建个人博客:改写View视图
  3. 面向对象的思考过程 (马特·魏斯费尔德 著)
  4. RestEasy传值方式
  5. jQuery实现输入框聚焦,键盘上下键选择城市
  6. java IO 笔记
  7. 深入理解jQuery插件开发
  8. three20 如何将three20中的demo添加到自己的应用程序中。
  9. Servlet 生命周期的过程分析 图解
  10. 求求你,别再叫我 X 工了!!!