MVC :: Use Html Helpers/Repositary Pattern/Ninject In Webforms?
Nov 25, 2010Just Wondering. Can we use Html Helpers/Repositary Pattern/Ninject in Webforms?
View 1 RepliesJust Wondering. Can we use Html Helpers/Repositary Pattern/Ninject in Webforms?
View 1 RepliesCan i create html helpers in Webforms project like in asp.net mvc?
View 2 RepliesI have an aspx page that I would like to have injected a reference to a user control. The user control is stored in a seperate assembly and loaded at runtime. After injected the user control it should then be loaded into the control collection of the page.
Everything seems to be working fine expect the point of adding the control to the page. There is no error but the UI for the control doesn't show.
global.asax.cs
protected override Ninject.IKernel CreateKernel()
{
var modules = new INinjectModule[] { new MyDefaultModule() };
var kernel = new StandardKernel(modules);
// Loads the module from an assembly in the Bin
kernel.Load("ExternalAssembly.dll");
return kernel;
}
and here is how the external module is defined in the other assembly:
public class ExternalModule : NinjectModule
{
public ExternalModule() { }
public override void Load()
{
Bind<IView>().To<controls_MyCustomUserControlView>();
}
}
The debugger shows that when the app is run, the Load on the external module is being called, and the dependency gets injected into the page.
public partial class admin_MainPage : PageBase
{
[Inject]
public IView Views { get; set; }
At this point when trying to add the view (here a user control) to the page, nothing is shown. Is this something to do with the way the user control is created by Ninject? The loaded control seems to have an empty control collection.
inside aspx page
var c = (UserControl)Views;
// this won't show anything. even the Control collection of the loaded control (c.Controls) is empty
var view = MultiView1.GetActiveView().Controls.Add(c);
// but this works fine
MultiView1.GetActiveView().Controls.Add(new Label() { Text = "Nice view you got here..." });
and finally the view/user control:
public partial class controls_MyCustomUserControlView : UserControl, IView
{
}
It contains just one label:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MyCustomUserControlView.ascx.cs" Inherits="controls_MyCustomUserControlView" %>
<asp:Label Text="Wow, what a view!" runat="server" />
I've been using MVC for the last year and unfortunately I am stuck adding features to an existing web forms site. The site makes heavy use of inline SQL and it is kind of all over the place. Using an ORM is not going to happen either and wouldn't address the problem of keeping queries all in one place.
Can the Repository Pattern and Service layers also work well with classic asp.net web forms?
is this right? i am trying to display value in input box dynamically?
can anyone advice me is this corect approach? but still I am getting here only + + in input box?
So, I am having a hard time getting this to work. I am trying to add some typographic HTML codes to some labels I have strongly typed to my model.
<%: Html.LabelFor(m => m.Name) %>
I am using data annotations to customize the DisplayName of the property:
[DisplayName("Your friend’s name")]
public string Name { get; set; }
However the actual code is being displayed for the label:
Your friend’s name
I have also tried just using the old write method:
<%= Html.LabelFor(m => m.Name) %>
We are going to develop content Management System in ASP.net. what is the good design pattern do we need to follow in order to have good design.
View 2 RepliesI have been using web forms and I have been let down by them. I hate the way it mangles my element id's and names. I want to have full control over my html and have the ability to have multiple forms on one page.
I do not use view state or post backs. All my server communication is done using JQuery ajax and sometimes page methods.
My pages do not make use of any runat=server controls other than occasionally using the repeater.
For now I have been using inline code like the following but I like the mvc html helpers.
EXAMPLE:
[Code]....
At the moment, using the asp.net mvc framework is not an option but I would like to use the HTML helpers in my asp.net application.
Is this possible to use the mvc html helpers or do I have to create my ow helpers?
I just upgraded my mvc 1.0 project to 2.0 using the wizard. My project builds fine however, my html helpers that I have used, does not render the input's ID tag. For some reason, only some controls render and some do not. For example:
[code]....
I thought it had to do with the fact that the value is empty, but from the two examples, they are nearly identical. Is this a bug? All was working before I upgraded.
I´m learning mvc and I found a problem. I have a product table that stores currencies in integers. On the other hand I have a table name currency that stores each int id with the currency name.
On html.dropdownlist I followed the pattern:
The name of the form field (ArtistId) The list of values for the dropdown, passed as a SelectList The Data Value field which should be posted back with the form The Data Text field which should be displayed in the dropdown list The Selected Value which is used to set the dropdown list value when the form is displayed
This was great for Forms in order to display selections. Right know I´m finishing my details views and I need to use the int id on product table but display the name on currency table associated to that int id.
Does anyone knows if it exist an html helper that renders the Data Text Field that should be dsiplayed on the View taking into consideration the int number?
Something like @html.display("Name", model.product.currencyid) where name is pulled from db.currency?.
So, most of the MVC examples I find are C#, so I seem to have trouble finding samples ....(bear with me, I'm a newbie) with that said, if anyone can point me in the right direction,
I simply want to be able to apply htmlattributes / styles to my select box
[Code]....
How can I use css and other attributes such max length with the strongly typed views ?
View 1 Replies<%: Html.ActionLink("Delete",
"Delete",
new { id=item.Emp_ID
})%>
how to add an image instead of first "Delete"
i used Html Helpers TextBox like this
<%= Html.TextBoxFor(model => model.Password)%>
now have can i access to attributes
i need to enable=false that control.
If I wanted to create a custom HTML helper and take advantage of the new in-built templating feature, how would I do that? It appears the templating features are internal?
View 3 Repliesi wrote mvc 2 application with target framework asp.net 4.0 but my hosting provider supports asp.net 3.5. then i set my project's target framework to 3.5 and i compiled successfully on localhost but when i run the application it says me:
Server Error in '/' application
Parser Error Message: Could not load type 'System.Web.Mvc.ViewPage<MvcApplication1.Models.xxx>'.
Source Error:
Line 1: <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<MvcApplication1.Models.xxx>" %>
and visual studio can't see Model and html helpers on view pages.
I'm trying to write a simple declarative html helper: [Code]....
The helper works fine if I embed it into the page I want to use it on. But if I move it to a separate .cshtml file and place that file in the ~/Views/Helpers directory, my view can't be compiled anymore because the helper is not found.According to Scott Gu's blog article on Razor it should work.
The only workaround I have found so far is placing the Html helper in App_Code and Referencing it as @[MYHTMLHELPERFILENAME].Echo(...) . This works but is a bit messy since I don't want to repeat the name of my extension method (Echo.Echo("inputstring"), nor do I want to put all of my html helpers into one single file (something like MyHtmlHelpers.cshtml).It certainly isn't what Scott announced either, so I guess I must be doing something wrong.
namespace MvcLogin_Validation.Helpers
{
public static class LabelExtensions
[code]...
MVC 1.0 source has code like
[Code]....
Was RouteValueDictionary intended for use with htmlAttributes? Is there an alternative? The only 'feature' RouteValueDictionary looks like its got is it has a constructor which accepts an object.
What should I be using in custom helpers?
Will I get the advantage of the new Strongly Typed Html Helpers with asp.net MVC 2 if were to use the spark engine for rendering?
View 3 RepliesI've just started wokring with Asp.Net mvc and i relay love it. One thing I don't know how to do it yet is:
If I want to develope a new user control (e. g. PeoplePicker) how I get the data? I don't want to use allways ajax requests, some controls should be initialized when the page is loaded. So I could use the Html Helpers and create own extension. So far this is exactly what i want and it's working. But now to the real problem. I can't use dependency injection in extension methods (I'm using spring.net, but the problem should be in all di frameworks).
So which approche is the most common to use this problem? Must I realy pass in the data from my controller? But then the controller must know how my user controls works, I don't want that!
I don't know if this is possible but I would like to customize some of the HTML helpers autogenerated in the template. For example, I would like to replace the LabelFor with something that will allow me to specify an image with the label and also a ToolTip property so when you hover over the label you get the tool tip.
View 2 RepliesI am using the MetaDataType DataAnnotation to validate my models in an MVC2 application. I also apply the DisplayFormat annotation so that currencies and dates are formatted the way I want. This method works for the original Html Helpers such as :
[Code]....
When I used the new strongly typed helpers:
[Code]....
the formatting never gets applied. Is there a way around this?
I try to use HtmlHelper.TextBoxFor with spark view engine but view crashed with exception "Dynamic view compilation failed. 'System.Web.Mvc.HtmlHelper' does not contain a definition for 'TextBoxFor' and no extension method 'TextBoxFor' accepting a first argument of type 'System.Web.Mvc.HtmlHelper' could be found(are you missing a using directive or an assembly reference?)".
It is my _global.spark:
<use namespace="System"/>
<use namespace="System.Linq"/>
<use namespace="System.Text" />
<use namespace="System.Web.Mvc"/>
<use namespace="System.Web.Mvc.Html"/>
<use namespace="System.Web.Routing"/>
<use namespace="System.Linq.Expressions" />
<use namespace="MyModels" />
In spark-view using:
${Html.TextBoxFor(m => m.UserName)}
I currently trying to convert a ASP.NET MVC2 application to ASP.NET MVC3 razor. I have a lot custom Html helper methods, which render html output, like the one below, which renders a button with some markup :
StringBuilder sb = new StringBuilder("<input type='submit' id='") .Append(buttonId) .Append("' name='" ) .Append(buttonId) .Append("' value='") .Append(buttonValue) .AppendLine("' class='myclass1 myclass2' />");return MvcHtmlString.Create(sb.ToString());