How to get Html helper code - asp.net-mvc

After many attemps to get Html.ActionLink<> and Html.Image() methods from different assemblies without any success could you help find the source of these methods so that I can use them in my Web app ?
Thanks

The ASP.NET MVC source code is available at codeplex.
The Html Helper methods are located in the HtmlHelper class, in the namespace System.Web.Mvc.
Or, you can open the System.Web.Mvc DLL using Reflector, and view the source for the HtmlHelper methods there.

Maybe post some code? Are you sure you're using MVC? Are you trying in your View? Are you doing something like the following?:
<%=Html.TextBox("myTextBox")%>

Related

Html helpers project visible by another project

I need to put my html helpers created in a separate project and I want those Helpers to be visible and usable in another project.
How we can do this .is it possible?
As far as i know if you creating your own HtmlHelper you should create static class in System.Web.Mvc.Html namespace.
So nobody forbids you to crate library type project (dll) in VS, create all your helpers there and then add refference to your MVC projects where you need your helpers.

HtmlHelper class and build errors

Like most people, I have a lot of HtmlHelper classes in my asp.net mvc project.
When I add an extra parameter to a Helper method, I don't get any build error.
Which is logical, because it is used in the aspx page.
Is there any tool/option/... which shows you all the places where an error will occur at runtime?
I know you can use find all, but that's not very helpful in some circumstances.
thanks,
Filip
You can build MVC views. Edit your MVC project file:
<MvcBuildViews>true</MvcBuildViews>

Is it possible to use Html.RenderPartial in non-MVC ASP.Net page?

I want to render MVC controls in non-MVC ASP.Net pages. Is this possible?
RenderPartial is an extension method that extends the HtmlHelper. The HtmlHelper's constructor takes a ViewContext. All 3 of those are in the System.Web.Mvc namespace. So, you'd have to a the very least reference the Mvc dll. You would also need to create an HTML helper by creating the other 2 objects. I'd be interested if you got it work, but I don't know if it's possible.
We need to reference the MVC dll into the project and also need to define similar structure like Route.config which will have default rout. Also we would have Model, View and Controller folder, in which we should have the Views web.config as well

Where can i find list of good HTML Helpers to use with asp.net MVC?

As i am new to asp.net MVC and HTML Helpers.. I really want to know
Where can i find list of good HTML Helpers to use with asp.net MVC?
Additional Info:
I would really love to get the list of HTML Helpers used by StackOverflow... If anyone knows can share...
Check out the C# class, even though naming differs slightly:
http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper(v=vs.108).aspx
There is an open source project here which have several helpers :
http://www.codeplex.com/MVCContrib
Hope this helps.
As far as I remember, MVC Futures contains a lot of useful html helpers and controls, such as Repeater.
Also, check this open source project that have MVC Html Helpers.
http://extensionoverflow.codeplex.com/

asp.net-mvc where do i put my own code

is there any particular directory that i should put my code into in an asp.net mvc project
i have some extentions to the HtmlHelper class. Right now i have it sitting in the Content folder. is this correct? is there a better soluiton?
I usually create a separate project (or projects) for my own code, including my data layer, as class libraries. I then reference the libraries in my MVC web site.
you can put code wherever you want, but typically you want things organised. heres how i do it:
2 assemblies
MyProject.Domain
this contains all my domain code; business logic and entities
MyProject.Web
this contains controller code, views and assets like css/images
Your HtmlHelpers belong in the .Web project because they are mvc related (nothing to do with the domain). You probably want a new folder called Helpers or Extentions. Its really up to you, the key point is to decide where something belongs and to namespace it accordingly
I agree with what everyone else said, here's how one of my solutions would look like:
1- MyProject.WebUI
2- MyProject.DomainModel
3- MyProject.Test
4- MyProject.Extensions
This extensions project is new to me (actually since I knew about extension methods). It usually concludes sub-folders describing what the extension methods are used for, for your particular case, the folder name would be HtmlHelpers. I then reference this project (or its output library when using elsewhere). HTH
If you are going to re-use the same HTMLHelper extensions in different ASP.NET MVC projects, I'd suggest putting them in a class library which is completely seperate from your project.

Resources