I need to create custom html helper method. As far as I know there are two ways:
Use @helper razor syntax. http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx
Create HtmlHelper extension method.
What solution is better and why? What are advantages and disadvantages?
I only read that in MVC 3 when @helper is created globally in seperate .cshtml file it's impossible to use other build-in html helpers. Don't know maybe in MVC 4 it is possisble.
Please help.
It depends.
@helper
:@helper
:Actually the thing is that
@helper
is IMHO completely useless. When you want the advantages I mentioned about a custom HtmlHelper extension, you, well, build a custom HtmlHelper extension.And if you are confronted to some of the disadvantages I mentioned about the custom HtmlHelper extension, you, well, use a partial view.
That's wrong. You could perfectly fine use other Html helpers. You just have to pass them as parameters:
and when consuming from a view: