我刚刚开始学习ASP.NET MVC,并且遇到了一个问题。我试图确定我是否应该使用HtmlHelper来创建客户端控件,或者如果我应该自己推出。我的直觉是倾向于自己滚动,因为它让我完全控制 - 并使用jQuery来装饰和添加交叉浏览功能。但是,我可以看到使用HtmlHelper的各种复杂控件的优点,可能涉及分页等事情。我应该使用HtmlHelper还是滚动我自己的控件?
我正在寻找有关何时使用HtmlHelper以及何时更好地推出自己的体验。
我刚刚开始学习ASP.NET MVC,并且遇到了一个问题。我试图确定我是否应该使用HtmlHelper来创建客户端控件,或者如果我应该自己推出。我的直觉是倾向于自己滚动,因为它让我完全控制 - 并使用jQuery来装饰和添加交叉浏览功能。但是,我可以看到使用HtmlHelper的各种复杂控件的优点,可能涉及分页等事情。我应该使用HtmlHelper还是滚动我自己的控件?
我正在寻找有关何时使用HtmlHelper以及何时更好地推出自己的体验。
越多他们添加到HtmlHelper越是我最终使用他们自己。
看看这些文章ScottGu: MVC Preview 5 和 MVC Beta
如果你不使用的输入框的HtmlHelper版本,你不会得到漂亮的,免费的验证。
此外,我不确定是什么阻止你用任何你需要的装饰HtmlHelper控件来使它们适用于jQuery。
您可以添加你需要使用htmlAttributes任何属性,超载,像这样:
<%= Html.TextBox("LastName", ViewData.Model.LastName, new { @class = "required" })%>
对我说的是什么,你看到有匿名对象有趣的部分(新{@class =“需要“})。
你可以把任何东西放在你需要的地方,然后它被打到控件的属性部分。
祝你好运!
您需要问自己的真正问题是,您是否需要完全控制,您是否需要一个可以在最快时间内完成工作的工作控件(这并不意味着您必须牺牲质量)。
如果速度是一个问题,使用HtmlHelper,如果你想在控制土地上玩,然后滚动你自己的。如果您不确定,请使用HtmlHelper并保存自制控件以进行业余时间实验。
对于简单的情况来说,自己做起来很容易,但是越想越“神奇”就越难。
幸运的是,你可以建立你的去。
但是,提供的HtmlHelper控件相当广泛。他们将提供你所需要的大部分。请谨慎对待过载情况,因为意外地为您的通话使用错误的超载非常容易。
滚动你自己到底如何让你更好地控制输出HTML比使用HtmlHelper?当内置的扩展方法满足我的需求时,我经常使用HtmlHelper ...当他们不添加额外的扩展方法时。我错过了什么全面控制的部分? – 2008-11-25 16:51:40
@勺子16 - 这可能只是我对HtmlHelper究竟是什么/没有经验。我对整个asp.net mvc领域都很陌生。 – 2008-11-25 17:36:29