HtmlHelper Does Not Contain Definition For "Action"
May 17, 2010
I use <%= Html.Action("ReadXML") %> and have this error:
'System.Web.Mvc.HtmlHelper' does not contain a definition for 'Action' and no extension method 'Action' accepting a first argument of type 'System.Web.Mvc.HtmlHelper' could be found (are you missing a using directive or an assembly reference?)
I'm using a html helper that i got from here: [URL] here is my modified version (using SelectListItem):
public static string CheckBoxList(this HtmlHelper htmlHelper, string name, List<SelectListItem> listInfo) { return htmlHelper.CheckBoxList(name, listInfo, ((IDictionary<string, object>)null)); } public static string CheckBoxList(this HtmlHelper htmlHelper, string name, List<SelectListItem> listInfo, object htmlAttributes) { return htmlHelper.CheckBoxList(name, listInfo, ((IDictionary<string, object>)new RouteValueDictionary(htmlAttributes))); } public static string CheckBoxList(this HtmlHelper htmlHelper, string name, List<SelectListItem> listInfo, IDictionary<string, object> htmlAttributes) { if (String.IsNullOrEmpty(name)) throw new ArgumentException("The argument must have a value", "name"); if (listInfo == null) throw new ArgumentNullException("listInfo"); if (listInfo.Count < 1) throw new ArgumentException("The list must contain at least one value", "listInfo"); StringBuilder sb = new StringBuilder();................
I can't seem to figure out why this always throws an error: CS1928: 'System.Web.Mvc.HtmlHelper<DataLayer.BlogPost>' does not contain a definition for 'CheckBoxList' and the best extension method overload 'HtmlHelpers.HtmlHelpers.CheckBoxList(System.Web.Mvc.HtmlHelper, string, System.Collections.Generic.List<System.Web.Mvc.SelectListItem>)' has some invalid arguments
Is it possible to instantiate an HtmlHelper object in a controller action in order to call HtmlHelper.EditorFor?
I would like to call HtmlHelper.EditorFor to return some partial html generated by an editor template in response to an ajax call. If I can do so I would not need to create an ascx file that otherwise would do the call to EditorFor.
I would like to extend the HtmlHelper by using metadata (similar to DataAnnotaions metadata). Specifically I want to be able to add a 'Title' attribute to html controls that will then appear as a tooltip on the control. I would like to keep the tooltip text with my model, for example by adding 'Tiltle' metadata to the model as follows:
[DisplayName("User Id")] [Title("Enter your 10 digit user id")] property UserId { get; set; }
So the questions are:
1. How do I add metadata (such as 'Title') to my model?
2. How do I access this metadata in my HtmlHelper extension method?
I'm implement Comet in Asp.net MVC, I used timer to keep Async request in server, Async request will complete when timer elapsed 1 minute and response to client (to avoid 404 error) and then reconnect to Async Controller. I also wanna execute some Synchronous action during Async request was holding, but the problem is: When an Async action was executed and hold by using timer, the Sync Action wasn't called until Async action (comet long-live request) completed. I did test with firefox 3.6 many times, but the result is the same, so strange, Do you know why ? I have a sub some questions : To implement comet, using timer (response after some minutes elapsed) or thread (response after several time sleeping thread) to hold async request, which is better?
I am desiging a master and details page from a search page..user can search for something and I need to display the result in jqgrid if the result has more than 1 row or record.. if the result is just one record then i have to directly send then to details page by skiping grid page... I do have an action method for results page and one more action method for Jqgrid data..i am trying to check the row count for the database result and trying to redirect to details action results..but its not working at all..and showing an empty jqgrid..
Lets say I have a simple controller for ASP.NET MVC I want to test. I want to test that a controller action (Foo, in this case) simply returns a link to another action (Bar, in this case).How would you test TestController.Foo? (either the first or second link)
My implementation has the same link twice. One passes the url throw ViewData[]. This seems more testable to me, as I can check the ViewData collection returned from Foo(). Even this way though, I don't know how to validate the url itself without making dependencies on routing.The controller:
public class TestController : Controller { public ActionResult Foo()[code].....
My httppost action doesnt seem to have received my model. The code is below;
[Code]....
i put a breakpoint on the line; return RedirectToAction("Error", "Dashboard"); and i found that appQualif carried no values whatsoever from the form i submitted..
I've been using Html.Action("ActionName", "ControllerName") to invoke child actions across controllers without needing to have the view in ViewsShared. This has been working great for displaying things like session or cookie information.
Instead of just accessing cookies, I would like to pass additional parameters to Html.Action("ActionName", "ControllerName") so the action can execute different code based on the the data passed to the original view.
Should I be using a different method to pass parameters to a child action in a different controller?
I'm trying to add file upload functionality to a page. I've got a form that posts the selected file to a controller with a 'savefile' method. But if I don't add a get version of 'savefile' I'll get a 404 error. Here is the form code which is presented on the Index page:
[Code]....
And here is the controller code:
[Code]....
Intuitively I don't think I should need a GET version of SaveFile but if omit it I get a 404 error when the form posts. Why should I need a GET version of SaveFile when all I want is to post a form and save the file?
I am new to MVC and I am trying to create my own extension method so that I can add onto the html helpers that are available in my razor views. Html.DropDownListFor() lets you create a drop down list for any propery on your model. I would like to create a helper called Html.StateDropDownListFor() that does the exact same thing, except loads the drop down with all 50 US states. This way I don't have to create a SelectList for every single state drop down that I create. What is the easiest way to do this? Right now I have this:
[code]....
Am I even close? I don't want to rebuild a whole text box helper, I just want to create a helper that utilizes the existing text box helper but does the SelectList for me. That way in my views I could just do Html.StateDropDownList(x => x.State)
How can I call HtmlHelper methods outside of a view? I want to call Html.ActionLink from a C# method. Then use Response.Write to write the output from ActionLink to the output stream of a view. Is there a server side equivalent of HtmlHelper.ActionLink?
I am trying to debug a problem where HtmlHelper is null in extension methods. Oddly the debugger claims it's fully populated, however I consistently get null exceptions. I'm trying to figure out where HtmlHelper should being instantiated in an attempt to see where my problem may be.
Where should HtmlHelper be Instantiated?
Update: In particular I am trying to implement the extension found here, [URL] within a masterpage. The error occurs on the MVC template's HomeController.Index(). There are some 'plugins'/virtualpathing that may be causing the problem (trying to avoid this can of worms), but, code the code is essentially the same as found here: [URL]. However, I don't want to trouble anyone with the details of all of that.
I am developing a Web app that is based on ASP.NET 3.5, and i added some page from ASP.NET MVC, everything is ok, until i use the "HTML" helper class, then the page is not being able be render, because this is not recognized.
For Example : Html.BeginForm() => this is not recognize as a method
But if i used "System.Web.Mvc.Html.FormExtensions.BeginForm", which is a extension method itself, it work fine.
I am using VS2010 & MVC2 to develop a web app. I noticed that HtmlHelper.LabelFor doesnt contain an override that accepts either a css class or html attributes. I was thinking about writing my own override for this, but am struggling with it.
The current LabelFor method accepts a lambda expression and automatically extrapolates the property name, display name (if specified via [DisplayName] attribute and value and generates the label. How do I write my overridden to do the same, but also insert any htmlAttributes specified such as class, style etc.
I have a controller with a bunch of actions as such:
[Code]....
I'm looking for a way to find out which action invoked the other: for instance, when redirecting to Action1, I need to know whether it is coming from clicking "next" button at Action0 or clicking "back" button at Action2. This is is to avoid performing Action1 twice (My app is like a wizard, if I click back button at Action2, I don't want to execute Action1 again).
I am having some trouble with returning a View in response to an ActionResult method being invoked. In my view I have a ViewData which holds a value which is being read. Current process.. user selects 1 of three radio buttons, and clicks a button to apply the selection, which in turn triggers method which sets the form ..
Now in my controller, I change the value in the ViewData and simply which to return to the View();. Here is we're the fun starts.. I receive the following message, and cannot get around it. The view 'GridEditingMode' or its master was not found. The following locations were searched:
am currently stuck with this problem of displaying an image using HtmlHelper class.Here is what i have. I have a custom HtmlHelper class which supposed to display an image:
[Code]....
[Code]....
I managed to get to the controller, but image shows as null. Is there a way around it ? or maybe an even better way to do this?
List<Category> Category is my database table having two properties Category_Id and Category_Name
and a strongly typed ProductCategoryViewModel View in which a ListBoxFor HtmlHelper is filled with Category_Name and Category_Id
public ActionResult Index(ProductCategoryViewModel model) { if (ModelState.IsValid)[code]....
In this Article is also my Database table defined in Linq to Sql classes. I want to get selected value and text from HtmlHelper ListBox to insert it to my Article table
I'm trying to override all the Html.TextBoxFor etc. methods. I want to make them non-static methods in a class that extends ViewUserControl. But, according to intellisense, Html does have access to these methods; they simply don't appear. So basically I want to do something like:
[Code]....
But I'm not getting the syntax right.
Basically just trying to wrap the TextBoxFor call so that my ViewUserControl can drop in a unique id each time.