2008-11-25 122 views
1

我刚刚开始学习ASP.NET MVC,并且遇到了一个问题。我试图确定我是否应该使用HtmlHelper来创建客户端控件,或者如果我应该自己推出。我的直觉是倾向于自己滚动,因为它让我完全控制 - 并使用jQuery来装饰和添加交叉浏览功能。但是,我可以看到使用HtmlHelper的各种复杂控件的优点,可能涉及分页等事情。我应该使用HtmlHelper还是滚动我自己的控件?

我正在寻找有关何时使用HtmlHelper以及何时更好地推出自己的体验。

+0

滚动你自己到底如何让你更好地控制输出HTML比使用HtmlHelper?当内置的扩展方法满足我的需求时,我经常使用HtmlHelper ...当他们不添加额外的扩展方法时。我错过了什么全面控制的部分? – 2008-11-25 16:51:40

+0

@勺子16 - 这可能只是我对HtmlHelper究竟是什么/没有经验。我对整个asp.net mvc领域都很陌生。 – 2008-11-25 17:36:29

回答

3

越多他们添加到HtmlHelper越是我最终使用他们自己。

看看这些文章ScottGu: MVC Preview 5MVC Beta

如果你不使用的输入框的HtmlHelper版本,你不会得到漂亮的,免费的验证。

此外,我不确定是什么阻止你用任何你需要的装饰HtmlHelper控件来使它们适用于jQuery。

您可以添加你需要使用htmlAttributes任何属性,超载,像这样:

<%= Html.TextBox("LastName", ViewData.Model.LastName, new { @class = "required" })%> 

对我说的是什么,你看到有匿名对象有趣的部分(新{@class =“需要“})。

你可以把任何东西放在你需要的地方,然后它被打到控件的属性部分。

祝你好运!

1

您需要问自己的真正问题是,您是否需要完全控制,您是否需要一个可以在最快时间内完成工作的工作控件(这并不意味着您必须牺牲质量)。

如果速度是一个问题,使用HtmlHelper,如果你想在控制土地上玩,然后滚动你自己的。如果您不确定,请使用HtmlHelper并保存自制控件以进行业余时间实验。

2

对于简单的情况来说,自己做起来很容易,但是越想越“神奇”就越难。

幸运的是,你可以建立你的去。

但是,提供的HtmlHelper控件相当广泛。他们将提供你所需要的大部分。请谨慎对待过载情况,因为意外地为您的通话使用错误的超载非常容易。

0

我为HTML创建了一个流畅的界面,我决定分享它here。也许你会发现它是一个很好的选择。我还写了一个关于它的blog post

这里有一个传情:

<%=this.TextBox(x => x.FirstName).Class("required").Label("First Name:")%> 
<%=this.CheckBox("enabled").LabelAfter("Enabled").Title("Click to enable.").Styles(vertical_align => "middle")%> 

批判和贡献是值得欢迎的。

相关问题