2011-01-30 194 views
1

我完全不熟悉C#,asp.net和asp.net mvc。我刚刚开始尝试。 所以这里是我的问题:ASP.NET MVC Html.helpers和ASP.NET控件有什么区别?我知道他们都可以用来在页面中创建表单,但有什么区别?我的意思是,我可以在我的MVC项目中使用ASP.NET控件,那么使用Html.helpers有什么意义?如果有人解释关于Html标签的差异,这将是非常好的。 因此,当我应该使用ASP.NET Controlls,何时应该使用ASP.NET MVC,以及何时应该使用Html标记?顺便说一下,我在Visual Web Developer 2008 Express中使用ASP.NET MVC2。 抱歉我的坏英文thingy!ASP.NET MVC中的ASP.NET控件和Html.helpers之间有什么区别?

+0

Html Helpers将让你的代码更加干净。在标记中没有任何`runat-“服务器``是一个好习惯。 – 2011-01-30 00:22:45

+0

虽然这也是唯一的区别,但是现在我看到了不,它不是。 – kayvan 2011-01-30 09:25:08

回答

1

很大的区别,基本上是一个HTML辅助转换到服务器上的HTML时它推回给客户端。

控制不可用在MVC(你在想web表单),但这是一个个人喜好,不管你喜欢这个与否。这些表单可以很容易地创建复杂的HTML结构,但是它们呈现的方式有很多“魔术”,MVC可以让您完全控制。

一旦你开始使用MVC,你会体会到灵活性并且不会错过任何一个控件。另外,很多开源的东西在那里给你强大的“助手”

+0

谢谢马克,我了解了开源的东西。我不知道! – kayvan 2011-01-30 09:22:01

1

为了增加马克的回答是:虽然两个ASP.NET控件和HtmlHelpers发出HTML,这其中的相似之处。

ASP.NET控件非常重。他们中的许多人在回发期间保持自己的状态,以给人一种错觉,认为你正在编写有状态的Windows Forms应用程序。这些控件具有奇怪的和损坏的ID,将许多字节添加到“viewstate”隐藏表单域,并且通常难以控制标记和CSS样式。

HtmlHelpers,因为你控制所发出的HTML,最好是没有任何状态信息乱丢您的标记是轻量级可定制的方式呈现HTML。您可以控制ID,样式,一切。但是你失去了控件给你的自动状态管理。

相关问题