public static MenuItem MainMenu(UrlHelper url) { Menu.DefaultIconDirectory = url.Content("~/Public/Images/"); Menu.DefaultDisabledClass = "disabled"; Menu.DefaultSelectedClass = "current"; return Menu.Begin( Menu.Items("", Menu.Action<HomeController>(p => p.Index(), "Home") ), Menu.Items("", Menu.Secure<HomeController>(p => p.About(), "About") ), Menu.Items("", Menu.Action<RegulationController>(p => p.Index(null), "Compliance") )/* This is in the Compliance area */ ).SetListClass("menu"); }
But I am also using MvcContib Areas and in the code above the final menu item is in an 'Area' called 'Compliance'.
(There are two other areas in the Mvc application and the first in the list of registered areas is called 'Legislation')
What happens is the following:
When a page is rendered (I am using the standard WebFormsViewEngine) the Urls are all rendered using the 'Legislation' area!!?
E.g. http://localhost:1337/Legislation/Home or http://localhost:1337/Legislation/Home/About
and finally http://localhost:1337/Legislation/Regulation
The first two links should not pick up the 'Legislation' area. The last menu item should be in the 'Compliance' area.
How do I prevent the erroneous Area (Legislation) being rendered on the first two links?
How do I get the MenuBuilder markup in the Site.Master to accept an 'area' attribute or get it picked up automatically from the Controller for each link?
I've never been able to understand why it is that some things are made in a particular way, and Html.ActionLink is one of these. In Global.asax, if I want to create a route, it has the format:
[Code]....
The order of the necessary parameters here is "name/controller/action/extra params". When using Html.ActionLink, the parameter order is "name/action/controller/extra params", which is much the same but with two of them switched around. To make things more confusing, the rendered html from the Html.ActionLink has the original order "controller/action/extra params" with the name inside of the anchor tag. Why do this? It's easy enough to memorize that the order is switched for absolutely no reason I can discerne, but why do it in the first place?
I posted this on Stack overflow [URL] but have not had a solution, just completely different way of doing it without using the Ajax.* helpers so I'm wondering if anyone has an Ajax.* solution here?I'm using MVC 3. I have a method on the controller that returns a Json object, according to this question it should be returned to me as Json, but I am finding that is not the case[URL] here's the code that I have:
[Code].... And the controller: [Code].... The first message box displays the response text which is:{"Success":True, "objectId":"testing"} the second message box displays undefinedSo it is coming back to the client correctly, I'm just not sure how to get it out?...Stefan
I tired to create a parameterized report in Report Builder 2.0 with parameters having multiple values fetched from the database. I really liked that feature, which allows me to select the desired records from the dropdown. I uploaded the report in SSRS 2008 and I could view the reports with parameters from the Report Manager of Report server. But when the report is called through the Report Viewer, I didn't get any of the parameters displayed inside the report viewer. The only way I could found is to manually give the dropdowns in the web page and sent that values to report by setting its parameter. But at here I cannot multi-select the values. So I would like to get the exact functionality given through the report manager in the report viewer.
get the report parameters in the Report Viewer of ASP.NET?
I have the following code and wanted to know how to use the ActionLink par to to a page with a seperate controller/view and pass the Mode.ProjectId into this other controller/view.
I have Asp.Net MVC project where I have added area for admin. In the root I have ContentTemplates folder where I have .tt generators for views and they work fine. But when I add view in the ~/areas/admin the views are using default MVC content generators and not my. I decided to add folder with my custom ContentTemplates to ~/areas/admin folder but anyway it uses default MVC contentTamplates.Did anybody this before - I mean using contentTemplates in Areas? If yes then I will check all things again..
I am quite new to MVC and am gradually overcoming all my 'but WebForms can do that' issues but I still have one. I wish to have components which I can deploy into an Area in order to keep things nice and tidy. This area will have a bunch of re-usable partial views like this. MyArea/Views/Shared/MyAreaControl.ascx I can render this MyAreaControl partial view fine in other Views inside that area but it fails when I try to render it from a not inside the area (e.g. view in the root of the site). I am essentially using this syntax
<% Html.RenderPartial("MyAreaControl", new { area = "MyArea" }); %>
which seems to only look for this partial view inside the root Views folder, not the area one despite me specifying the area. Is this a restriction of the system, a bug - or am I just doing it wrong. ADDENDUM: Turns out it appears to be an assembly issue. My controller is found in a separate assembly from my MVC Application. Doing a bit of fiddling with moving my control inside and outside of the area and the separate dll I came to the following confusion:
- If partial view is in its own area and the controller is part of the MVC application dll - I can render it from my home view - If partial view is not in its own area and the controller is part of an external dll I can render it from my home view - If partial view is not in its own area and the controller is part of the MVC application dll - I can render it from my home view - If partial view is in its own area and the controller is part of an external dll I CANNOT render it from my home view
The controller for path '/' was not found or does not implement IController.
where the RecentArticles Action (in ArticleController) is :
[ChildActionOnly] public ActionResult RecentArticles() { var viewData = articleRepository.GetRecentArticles(3); return PartialView(viewData); }
and the code in my RecentArticles.ascx partial view: <li class="title"><span><%= Html.ActionLink(article.Title, "ViewArticle", new { controller = "Article", id = article.ArticleID, path = article.Path })%></span></li>
The problem is that all the links of the articles (which is built in the partial view) lead to the same url- "~/Article/ViewArticle" . I want each title link to lead to the specific article with the parameters like I'm setting in the partial view.
I have a view which takes two objects: booking and list of reasons for canceling that booking.I have two classes: clsBooking, clsBookingCancelationReason I can read both objects in my view - no problems there. After I read the objects, I display the booking details and I generate a list of cancelation reasons in the following way:
[Code]....
The code above generates a list of cancelation reasons.How do I pick up the selected ReasonId from the list? I need to generate a link that will contain the bookingId and the selected reason for canceling the booking.I can get the bookingId out easily since it's stored in the Model...but how do I go about the selected ReasonId?
I used ModalPopup Control on this link, [URL]How should I write the code that to close pop up by click the area outside the pop up panel?I use AjaxControlToolkit-Framework3.5SP1
Members view (index) that lists members that users can select to show a partial view in the same view with details for the selected memberUses jquery (Ajax.ActionLink) to call a partial view method in the members controller to then load the members detail sectionWorks fine up to here....but I'd like to load the partial view with "member" details for a default or random member on initial load -- ie not through the Actionlink selectionHow do I invoke the partial view method on the initial load?
I have a partial view that has only a dropdown, i have called this partial view from a view. I can able to pass the model to this partial view and it renders successfully. However when some user selects a particular text from the dropdown, the corresponding value should be passed to view and it should be displayed in the label in view.