MVC :: Html.RenderAction In MasterPage Expects Home Controller?
Jun 28, 2010
In my Site.Master View, I have the following line:
[Code]....
If I don't include the string identifying the Controller to use, I get an error stating that the PrimaryNavigation method couldn't be found in the Home Controller. Since the Site.Master View is in the Shared Views folder, I would have thought that the Shared Controller would have been used.
It's a little unclear for me on when to use a custom helper method and when to use RenderAction and also when to simply use ViewData instead. Some of their functions overlap slightly.
For example, if I were to create a Category navigation bar, would I create a new helper method and place that in some partial view? I had initially though of doing this, but I read on some blog to use RenderAction instead.
Assume the list of categories is coming from some data source.
My query is somehow related to passing the id values as parameters in MapRoute on RegisteredRoute method
routes.MapRoute("MachineGroupList:, PhysicalMachine/ListGroupMachine/{used}/Page/{page}", new {controller="PhysicalMachine", action="ListGroupMachine",id="XNA"});
public ActionResult ListGroupMachine(string id, int page=0) { .... }
Everytime I call this Action the Id should be of groupBy column; over here it is 'Used' First time I have called this Action from <%html.ActionLink("Machine","ListGroupMachine", new {id=Model.UsedBy})%> But in my Html.RouteLink the id object is not identified in MapRoute method...
im extending the htmlhelper. but it i cannot call the renderaction of it.
using System.Text; using System.Web.Mvc; using System.Web.Mvc.Html; public static class ViewHelpers { public static string Text(this HtmlHelper htmlHelper, string name, object value, bool isEditMode) { htmlHelper.RenderAction(...) //cannot be called } }
I am working in an environment with many teams who are responsible for specific content on pages. Each team is sharing specific information (common class libraries, and master pages) that each are going deliver different types of content.Is it possible for an MVC application to do something similar to RenderPartial and pass a model to another MVC application Controller/Action to return content?
So the code for this might look like: (http://www.mydomain.com/Home/Index)
After rendering a view on a Post, a call to RenderAction inside the view will call for the Post method. Is there any way to specify I want to call the Get method instead of the Post?
I'm creating an ASP.NET MVC 2 (RTM) project that uses areas. The Index action of the Home controller of one area needs to use RenderAction to generate a sub-section of the page. The action called is also defined in the same Home controller. So the call should just be:
<% Html.RenderAction("List") %>
However, I get an exception:A public action method 'List' was not found on controller 'RareBridge.Web.Areas.Events.Controllers.HomeController'.
Note that I'm not in the "Events" area! I'm in a completely different area. If I remove the "Events" home controller, then the exception still occurs but names a different controller (still not the one I want it to call).
I've also tried providing the controller name and area to the RenderAction method, but the same exception occurs. What is going on here?
I started with a view which repeatedly calls RenderAction(...) to include some external content implemented by another controller in my application. This is from the containing view:
[Code]....
The subModel objects are instances of the model for the MyController.MyAction view which has some Data Annotations validation attributes upon it. MyController.MyAction checks the model state is valid before it renders its view and chooses a view appropriately. This works fine.
However, if I use the MVC Futures' strongly typed helper to call RenderAction like so:
[Code]....
...then the validation is not performed. Or at least, the model state does not indicate that the model is invalid.
I get an HttpException (details below) after installing Visual Studio 2010 Pro RTM in an application developed using Visual Studio 2010 RC. The platform used was ASP.NET MVC2 RTW (already under VS10 RC).
I first uninstalled all RC software and even ASP.NET MVC 2, and then did a "clean" install of VS10 RTM. The ASP.NET MVC 2 version now installed on my dev machine is 2.0.50217.0.
Exception Message: Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'.
InnerException Message: <FilePath>ViewsLanguageRenderLanguageNavigation.ascx(6): error BC30451: 'Model' is not declared. It may be inaccessible due to its protection level.
The error occurs on this "Html.RenderAction":
[Code]....
The "LanguageController" just calls into another service function as below:
[Code]....
Does anybody have an idea what is causing the problem?
Edit:
By the way, I might also share the actual view (partial view) that would show the languages to select from:
I have a masterpage on which i displays groups that user can access now i want to gets its selected value in other controllers for saving with the records. I want to know if it is possible in asp.net mvc 2 and if not then what is the way around for it
Let's say there is a textbox and a dropdownlist in mainview page, these two values are used by three partial views as well. when I use Html.RenderAction to post action to those three partial views, how to pass these two values to those partial views and in those views how to get these two values as a part of a object to send to database.
i have been recently requested from a client to upgrade his static html web site (hosted from another provider) to a new asp.net mvc web application (hosted from my provider). The current home page rank is 3/10 and i woul not like to lose it ehwn transferring the hosting DNS to another hosting provider company.
Is it possible to keep the home page rank? I am realy not interested in all the other pages.
Also, my home page can be accessed via [URL] disadvantage when comes to SEO?
I spent the better part of today hunting down an elusive error. I was getting a message saying that it couldn't find the Index view for the Home controller, and it gave a list of locations it searched, e.g., ~/Views/Home/Index.aspx. This was really confusing as the file definitely existing and was at ~/Views/Home/Index.aspx, the first place in the list of locations it searched for the view!
What I eventually discovered was that there was a file that did not get published when I used Visual Studio's "Publish" feature (this is on the "Build" menu). That file was Views/Home/Home.master, and (as you can probably guess) is the master file used by Views/Home/Index.aspx. Once I copied that file into place manually, it started working. But I am left wondering--why??? Why does this file not get published? It's a part of my project, I can see it in the solution explorer, and it's obviously a critical file that's necessary for the MVC app to run. It has the same permissions as every other file in my project. So why wouldn't it get copied? And how can I fix it so it does get copied?
I'm working with an external team with our website and they recently added one of my scripts to the .NET MasterPage of the site... well it did finally get my script running but now... it loads Banners on 'every' page on the site.
How can I write an 'if' statement that basically says... if this is the home page... run this script... if not don't...?
I've run into an instance where I'd like to change the Enctype of the form declared in my current view's master page. I'd like to make the change in order to support attachments via Request.Files.
I have programatically added javascript to HyperLink controls on all pages in my site from the Masterpage as it is served up.
I have a new problem. I have a Masterpage wrapper around html pages without asp.net controls in them. Using the Masterpage, I need to parse through all html hrefs in each page and add javascript to each link if it includes "http" or ".pdf". Can the Masterpage parse the text of each page and programatically change it?
I've a controller with different actions that calls the DB code and return result. I want to pass the value of text box to different actions in controller.
How to do it? I know that, I can pass values by using form. But, I don't to know how to call different actions in controller from single view.