2008-11-25 62 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")%> 

批判和貢獻是值得歡迎的。

相關問題