初学ASP.NET,被Razor和MVC搞蒙了,求指点。

chaiyanlin 2012-11-10 06:05:21
本科第三年做过一些简单ASP.NET大作业,按道理说至少浅显的懂点吧。。。

我至今还记得当时学的时候有一句话:ASP.NET IS ALL ABOUT CONTROLLER.
我当时用的基本上就是,添加控件,然后就开始做跟event相关的代码工作了。。。(当然肯定不会是这么简单哈)

今天去w3school上想把以前的基础拾到回来,结果全篇都是cshtml!!

看了看文献,大概懂得razor是啥了,MVC这些设计模式,在winforms开发里面经常用,理念都懂得,可我就纳闷了,aspx不用了?整个w3school上全是cshtml,连控件添加都是直接用html tag往csthml里面敲?

新手不懂,求解释~
请众位大神给出一条正确的学习思路和顺序,在此拜谢各位。
...全文
1061 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujiazhi 2012-11-12
  • 打赏
  • 举报
回复
html里面的tag是肯定要熟悉的,mvc才像最原始的web的, webform封装太多东西的了 刚从webform转向mvc肯定是相当不适应的, mvc没有像webform那样有什么事件的之类的,简单说来就 GET POST UPDATE DELETE
Ho_Johson 2012-11-12
  • 打赏
  • 举报
回复
ASP.NET 不是所有都是控件的,我就系ASp.net程序员,但系我通常都系用 html标签就可以了。 因为你来就学asp.net,好像我一样,我们都忽视了,最简单网页的提交表单,其实webform 再强大都好,都是离不开提交表单这个,webform 会自动生成 很多隐藏域的东西。 懂得了提条表单,就容易理解 MVC是 前台数据提交到后台了
chaiyanlin 2012-11-11
  • 打赏
  • 举报
回复
引用 3 楼 yuzhouzi 的回复:
首先MVC并不是取代webform的,两者各有各的优势。 webform这种拖拉控件的方式开始时非常容易上手,但用的时间一长,你会感到束手束脚,很难进行精细一点的控制,这时候就会自然而然追求更高的东西,这时有两条路可走:第一条路是仍然使用webform,但一个服务器端控件都不使用完全按http规范直接搞(你可以现在就试试,一个控件都不用看看能写出什么样的程序);第二……
谢谢你的回答,根据你说的思路,我重头看visual studio2010自动生成的一个Razor项目,基本逻辑是: 建立你的css--》将你的网页布局写成单独的_SiteLayout.cshtml文件并且绑定先前的css,这就是你网站的公共布局---》之后所有的cshtml文件都会引用sitelayout,每个页面的内容从page.title以下开始。。。 然后就看到您所说的html+C#/VB/F#。。。这不禁让我回想起大一的时候html+php...当时我们用dreamweaver,下载好网页模板(html+css),然后拖拉控件,然后开始php的编程。但这好歹还是有一个设计视图,至少能所见即所得,可在razor项目下这。。。。。。。。。我看了一眼MVC3 APPLICATION的建立是可以选择视图引擎,ASPX OR RAZOR,MVC我就不扯了,离我目前的状况有点远。 问题:您的意思是,我现在就老老实实的从razor项目的编程学起(包括html,因为没有设计视图,很多tag早忘了),其他的再说?
zhlxyzb 2012-11-10
  • 打赏
  • 举报
回复
直接做几个实例就是了。不过我也感觉cshtml的没有设计模式的视图很不爽。 http://www.cnblogs.com/wlflovenet/archive/2011/07/23/MVCANDEF.html
CSMSDN 2012-11-10
  • 打赏
  • 举报
回复
首先,MVC并不是使用WEBFOMR上的服务器控件, 所以,不能用服务器控件,按你的基础,建议,你先用webform模式开发,上手了,再转学MVC
yuzhouzi 2012-11-10
  • 打赏
  • 举报
回复
首先MVC并不是取代webform的,两者各有各的优势。 webform这种拖拉控件的方式开始时非常容易上手,但用的时间一长,你会感到束手束脚,很难进行精细一点的控制,这时候就会自然而然追求更高的东西,这时有两条路可走:第一条路是仍然使用webform,但一个服务器端控件都不使用完全按http规范直接搞(你可以现在就试试,一个控件都不用看看能写出什么样的程序);第二条路是——横空出世的MVC! 给初学的建议是:从html开始。是的,你没看错,是html,纯粹的html。比如一个链接你要怎么实现?使用<asp:HyperLink>??一个下拉框你要怎么实现?使用DropDownList??不要忘了,在html里这些东西都不存在。 然后,html中最重要的——数据的提交!好好琢磨琢磨在html中如何提交数据?这时候你就知道get和post区别(对于习惯于webform的人来说,不了解这个基础知识,就无法理解MVC了)。 这些东西对你来说应该很简单,最多两天,你就能熟烂于心。了解这些东西,你对webform会有更深刻的体悟,因为html才是web的本质(不管你是.net、php还是java,在客户端呈现出来的,不过是html而已),然后,结合winform你就知道,webform是一种多么巧妙的设计啊,愣是把无状态的http整成了winform式的拖拉控件!太天才了。 最后,去学习MVC吧,你不会再有这种困扰了。至于Razor嘛。。。其实它只是html而已。。。不同的是它可以写C#语句(当然你得加个@符号)。。。
zyug 2012-11-10
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/s/blog_55e55fcb0100o5de.html 这哥们写的razor语法还比较全 razor语法的if一定要加上 {} 其它的在复杂情况下容易出现{}不匹配的情况。其它情况下可以将就着用
zyug 2012-11-10
  • 打赏
  • 举报
回复
搞过asp不。和asp页面写法差不多
du9232 2012-11-10
  • 打赏
  • 举报
回复
内部系统可以用asp.net. 网站mvc和razor还是有一定优势的

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧