Is It Correct Pattern To Return Different Views From MVC Controller

Jul 9, 2010

I have an application that has an public 'end user' mode and a 'back office' mode. Both 'modes' pretty much share the same controller logic but the user interfaces for these different 'modes' are radically different. Using the out of box default routing that you get when a project is created for the first time I have something like the following:

Controllers
HomeController.cs
Views
BackOffice
Index.aspx
Public
Index.aspx
Shared
BackOfficeSite.Master
PublicSite.Master
In my HomeController.cs I have logic that looks like this:
public ActionResult Index()
{
var devices = DeviceRepository.FindDevicesByCustomer(100);
if(IsBackOffice())
{
return View(@"~/Views/BackOffice/Index.aspx", devices);
}
return View(@"~/Views/Public/Index.aspx", devices);
}

Is this the correct way to be doing this or am I digging myself an anti-pattern hole? I'm using ASP.NET MVC 2.

View 3 Replies


Similar Messages:

C# - Return Different Views In A Controller?

Mar 20, 2011

If I have a controller and I want to return a view based on what my conditional logic goes to, is that possible? I have different types of models that i want to insert into a view DEPENDING on my conditional logic (if statements) Can i do this? and how would I do this

View 2 Replies

MVC :: Out Of The Box MVC2 Controller / Delete Controller Is Refusing To Return Any Class Information

Nov 6, 2010

my MVC2 delete and only my delete controller is refusing to return any class information. Its really similar to my edit function and the views are all auto-generated so I don't see the problem.

Function Delete(ByVal id As Integer) As ActionResult

View 4 Replies

MVC :: Using Tabs With Partial Views And Want To Render The Correct One After A Postback?

Nov 22, 2010

I am using tabs and I want some user input on each one.hen I click submit I return the partial view. However it is only the partial view that gets rendered.What I am trying to do is keep the overall view and render the partial view. In fact what I am trying to do is known as hijaxing, but I am not familiar enough with Ajax that I know how to do it.So this is my view;

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Employee.Master" Inherits="System.Web.Mvc.ViewPage<SHP.WebUI.Models.HolidayRequestViewModel>" %><asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> HolidayRequest</asp:Content><asp:Content
ID="Content2" ContentPlaceHolderID="EmployeeContent" runat="server"> <% using (Html.BeginForm()) {%> <%: Html.AntiForgeryToken() %> <h2>Holiday Request</h2> <p>You have <%: Html.DisplayFor(model => model.DaysAvailableThisYear) %> days left annual leave for this year and <%: Html.DisplayFor(model => model.DaysAvailableNextYear) %> days left for next year.</p> <p>If your request is approved and exceeds the number of days left, then those extra days will not be paid.</p> <%: Html.HiddenFor(x => x.EmployeeId) %><%: Html.HiddenFor(x => x.ApproverId) %> <% } %> <div id="tabs"> <ul> <li><a href="#tabs-1">Approver</a></li> <li><a href="#tabs-2">Single Date</a></li> <li><a href="#tabs-3">Date Range</a></li> </ul> <div id="tabs-1"> <% Html.RenderPartial("GetApproverTab", Model); %> </div> <div id="tabs-2"> <% Html.RenderPartial("GetSingleDateTab", Model); %> </div> <div id="tabs-3"> <% Html.RenderPartial("GetDateRangeTab", Model); %> </div> </div></asp:Content>
This is my partial view;
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<SHP.WebUI.Models.HolidayRequestViewModel>" %><% using (Html.BeginForm("GetSingleDateTab", "Employee", FormMethod.Post, new { id = "frmSingleDate" }))&nbsp; &nbsp; &nbsp; &nbsp;{ %><p>Enter your day or part day of Annual Leave here.</p><table> <tr> <td align="right">Date:</td> <td><%: Html.EditorFor(x => x.SingleDate) %></td> </tr> <tr> <td align="right">Morning Only:</td> <td><%: Html.CheckBoxFor(x => x.MorningOnlyFlag) %></td> </tr> <tr> <td align="right">Afternoon Only:</td> <td><%: Html.CheckBoxFor(x => x.MorningOnlyFlag) %></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="Save" /></td> </tr></table><%: Html.HiddenFor(x => x.EmployeeId) %><%: Html.HiddenFor(x => x.ApproverId) %> <% } %>

and this is my controller;

View 7 Replies

Return Data In HTML Pattern From Method / Webmethod?

Jul 19, 2010

In my asp.net website I need to return data obtained from DB by adding html tags to it from a server side method,just like a webmethod returns jsonified data. I am having trouble understanding if a webmethod can serve the purpose(i.e., htmlifying the data).If not how do I acheive it?

View 1 Replies

The Model-Repository-Service-Validator-View-ViewModel-Controller Design Pattern

Jan 19, 2010

When I first heard about ASP.NET MVC, I was thinking that would mean applications with three parts: model, view, and controller.

Then I read NerdDinner and learned the ways of repositories and view-models. Next, I read this tutorial and soon became sold on the virtues of a service layer. Finally, I read the Fluent Validation documentation, and I'll be darned if I didn't end up writing a bunch of validators.

Tonight, I took a step back and thought about what had become of my project. It seems to have become the victim of the design pattern equivalent of "feature creep". Somehow I'd gone from Model-View-Controller to Model-Repository-Service-Validator-View-ViewModel-Controller. You want loosely coupled and DRY? We got your loosely coupled and DRY right here! But I'm wondering if this could be a case of too much of a good thing.

Am I right to be concerned? Or is this actually not as crazy as it sounds? On one hand, it seems crazy to have so many layers. On the other hand, every layer has a clearly defined purpose that makes sense to me. Have your MVC applications turned into MRSVVVMC apps too? If not, what do they look like? Where's that right balance?

View 2 Replies

MVC :: Reading Views Response In Controller Actions?

Feb 2, 2010

I am trying to read the response of ResultView in the action of some controller. I need to process the response before returning the ResultView. I am trying the following code:

[Code]....

Whenever I read writer, I get empty string though no exceptions occur.

View 4 Replies

C# - How To Return Two Different Views From The Same Action In .NET MVC

Jan 13, 2011

I have two views which will both use the same Controller method:

//webServiceController.cs

//The actual method is about 40 lines of code. Truncated for readability.
public ActionResult Index()
{
object i = new List<WebServiceMethod>(); [code].....

The second view is a quick'n'dirty conversion to JSON so that I can do magical AJAX tricks with the data:

<%
// AjaxGetServiceData.aspx

// Convert web service response object into JSON for AJAX.
var jss = new System.Web.Script.Serialization.JavaScriptSerializer();
Response.Write(jss.Serialize(Model));

%>

I'd created a duplicate of the Index() method and called it AjaxGetServiceData(), but that defeats the purpose of MVC.

Resolution:I didn't ask my question very well, as evidenced by a 5-10 minute discussion I just had with a coworker about this very topic. He kept asking me the same question that many users on this page asked me: "How does the controller know which view to return?" I responded, "That's what I'm trying to figure out." I was trying to get the method to return a different view (or Json output) when AJAX was the requester. A string argument in the method was my solution.

This is what I ended up using to get my desired effect:

public ActionResult Index(string isJSON = "no")
{

/// ...All the code from before...[code]....

Then, when I want the JSON version, in my AJAX request I specify the URL as /MyController/Index/?isJSON=yes When I want my pretty table view, I just use /MyController/

View 2 Replies

C# - Custom MVC Route: Changing Where The Views For A Controller Are Located

Jan 5, 2011

So I have a controller called EmployeeController, and all the Views are in /Employee.

I'd like to create a route so that the EmployeeController will use /Employees and /Employees/Add instead of /Employee and /Employee/Add.

I keep finding articles about how to change the route to go to different actions.

View 3 Replies

JQuery :: Correct Way To Fire Controller Method?

Feb 19, 2011

I have a form with a drop down list. I want to pass the value of the selected item and a hidden field called stidentid to a controller action that would check my database to see if records for that id and semester exist and return the view with the appropriate values filled in. I'm not really familliar with Javascript or Jquery so I tried this:

[Code]....

}).change();

however nothing happens when I select anything from the semester list not even a crash. What am I doing wrong?

View 25 Replies

MVC: Return Different Views Depending On Object Type?

Jan 3, 2011

my controller, I'm generically deserializing Xml. The object being deserialized to could end up being any number of different types. This, of course, won't be known at compile time. I've created a number of partial views, each of which are strongly typed to a different object that is a possible outcome of the Xml deserializaton.My problem is that I'm struggling with a good way to return the right view. I could always switch on some property in the object, or use a Key/ViewName Dictionary mapping to get the right view name, but I was hoping for something a little more generic than that.Does anyone know of a way that I could implicitly say, "return the view that is typed off of the object I have."?

View 1 Replies

ADO.NET :: Linq To Sql Stored Procedures - Set Correct Return Type?

Dec 15, 2010

I've recently inherited an ASP.NET 2.0 project from other developers and they have a LinqToSql datacontext with stored procedures. I've been asked to modify one of the SPs which is essentially just adding a couple columns to the database table and then those to parameters to the SP. So I delete the existing SP from the L2S context and drag in the new one with the additional fields, and all hell breaks loose. Suddenly I get over 20 errors! What seems to have occured is L2S has modified many other stored procedures that I haven't even touched and changed the return type from ISingleDefault<some object> to int. I've never used stored procedures before with L2S so I don't know if this is standard behavior or not. Does anyone know why this has happened and how to fix it to set the correct return type?

View 3 Replies

Architecture :: Ado.net Entity Framework - Query - Return Correct Data

May 26, 2010

I just tring to a complex (for me) with ado.net entity framework this is the structure: In practice it is a sort of group purchasing (Buyers) For each group of purchase (Buyer) should have the opportunity 'to select all products of the brands indicated in buyer I'm doing function to return correct data like this:

public List<Product> GetProductsByBuyer(int vBuyerId)
{
Buyersctx.Products.MergeOption = MergeOption.NoTracking;
return (from lProduct in Buyersctx.Products.Include("Brand").Include("Buyers")
where select lProduct).ToList();
}

View 2 Replies

MVC :: Return A View Of A Different Controller?

Aug 29, 2010

I came upon this when had problem trying to return a view of a different controller.

In controller1, I have view view1.

In Action1 of controller2, I wanted to do something like:

public ViewResult Action1()
{
return View("/Controller1/View1");
}

but, found out, I couldn't do it. So I searched and found this:[URL]

One guy there responded and said that, for my case, it is possible to do things like below:

return View("~/Views/Controller1/View1.aspx");

this is considered an acceptable MVC practice. Is it OK, good, perfect to do so in the asp.net MVC realm?

View 5 Replies

Configure ASP To Show Custom Error Page But Still Return Correct StatusCode

Jul 27, 2010

How can I configure ASP.NET/IIS to show custom error pages (i.e. a nice friendly error page), but to still return a 404/500 status code so that google does not try to index the page? I have tried setting the Response.StatusCode to 404, but then the nice error page does not show anymore.

View 2 Replies

MVC2 - How To Return A File From A Controller

Nov 23, 2010

Possible Duplicate: How to create file and return it via FileResult in ASP.NET MVC?

ASP.NET MVC2: How to return a file from a controller? I want to do this so the user can download the file from server.

View 1 Replies

To Return The Same Data For Every .Net MVC Action In A Particular Controller?

Mar 26, 2011

I have a controller with several actions that all return a set of data that's the same among them all. Instead of adding the data to the ViewBag in every single action, is there some pattern or attribute or something I can call or set to add the same data to the viewdata or viewbag for every action, or some other better way to perform the get the same data in every view without calling the method in every action?

View 2 Replies

MVC :: Return A Double Value From Controller Action?

Jan 11, 2011

i am trying return a double value from controller action. when i alert(result) it works well but when i return a function it did not work. alert undefined value.

//this is action
public ActionResult GetPrice(int id)
{
double price = ProductList.Where(d => d.ID.Equals(id)).Single().Price;
return Json(price, JsonRequestBehavior.AllowGet);
}

when i click $('#btnAdd') i wanna get price

$(document).ready(function () {
$('#btnAdd').click(function () {
//var itemPrice = GetPrice();
alert(GetPrice()); // this return undefşned value........

View 6 Replies

Controller AJAX Method To Return ActionLink

Apr 4, 2011

I am fairly new to MVC and just trying to achieve something which I think shouldn't be too complicated to achieve. Just want to know what the best approach for that is. I have an Event-RSVP application (NerdDinner kind) where you go to view details of the event and then click on an AJAX link that will RSVP you for the event.

<%
if (Model.HasRSVP(Context.User.Identity.Name))
{
%>
<p>

You are registered for this event!

<%:
Ajax.ActionLink("Click here if you can't make it!", "CancelRegistration", "RSVP", new { id = Model.RSVPs.FirstOrDefault(r => r.AttendeeName.ToLower() == User.Identity.Name.ToLower()).RSVPID }, new AjaxOptions { UpdateTargetId = "QuickRegister"})
%>
</p>
<%
}
else
{
%>
<p>................

View 2 Replies

Return A Partial View In JSON From A Controller In MVC?

Mar 16, 2011

I have a list of items(surveys) displayed on my home page. When I click the edit button for a particular item I have a modal pop up with the items details to edit. When the user clicks Save I submit the form via ajax. Depending on whether ModelState.IsValid == true I want to update the modal with validation information or close the modal and update the list of items with the new information.

This is how I am submitting the form:

[Code]...

My Questions

The only thing I can think to do is return JSON from my controller with a flag indicating the state of the ModelState.IsValid and the corresponding partial that I should show.

1) How would I do this?

2) Is there a better way?

Update

I found this: [URL]

but it seems more likely that I am going about the whole thing incorrectly.

View 3 Replies

MVC :: How To Return Data Loaded Via AJAX To Controller

Dec 7, 2010

display the first tier of data so the user can select and tweak desired rows. On occasion, they will want to drill into a row to see the children and select/tweak them. After a tweaking session, I wanted to be able to commit.

If I build an aggregate ViewData and prepopulate it, I can display it just fine in the View, and I get the collection back in the postback just fine.

Starting with empty child data, I experimented with jscript to fetch that data and displayed it by adding elements with jquery.

What I can't figure out how to do is to return that data to the controller. The newly added elements aren't in "Show Source" ... I heard elements added via jscript are not posted back. I even tried adding items to a prepopulated list ... only those items originally passed in are returned.

View 3 Replies

How To Return A Partial View From A Controller With Different Model

Mar 18, 2011

returning a partial view from a controller with different model than my main View. For example:

blic ActionResult Index()
{
//myModel - get Some Types
return View(mymodel);
}
[code]...

View 1 Replies

MVC :: Return Text Stream Of HTML From Controller Action?

Nov 6, 2010

How does a controller action return an HTML stream as the View? ( in place of the name of the View file )

I want to return a simple "error detected" or "action completed" page to the browser. And I dont want to clutter up my project with yet another view. The return string being "<html><body><h1>Error. Customer xxxx is not found</h1></body></html>"

( thinking about it, better to have a general purpose view in a folder named "Common". Then pass the message text in ViewData. Still curious to know how to return an html stream. )

View 1 Replies

Pattern For Retrieving Complex Object Graphs With Repository Pattern With Entity Framework

Oct 13, 2010

We have an ASP.NET MVC site that uses Entity Framework abstractions with Repository and UnitOfWork patterns. What I'm wondering is how others have implemented navigation of complex object graphs with these patterns. Let me give an example from one of our controllers:

[code]....

It's a registration process and pretty much everything hangs off the POCO class Person. In this case we're caching the person through the registration process. I've now started implementing the latter part of the registration process which requires access to data deeper in the object graph. Specifically DPA data which hangs off Legal inside Country.

The code above is just mapping out the model information into a simpler format for the ViewModel. My question is do you consider this fairly deep navigation of the graph good practice or would you abstract out the retrieval of the objects further down the graph into repositories?

View 2 Replies

MVC :: AsyncController Gripes / Working Pattern For Converting A GET-POST-GET Pattern To Asny?

Feb 23, 2010

Does anyone have a working pattern for converting a GET-POST-GET pattern to asny?

I'm encountering the following issues:

1. You cannot mix Sync and Async action methods SubmitForm(), SubmitFormAsync(bool? confirm), SubmitFormCompleted() ... (because the resolver gets all confused ... it doesn't use the HTTP verb to decide who to target. BTW: I think that's poor design, or a bug)

2. Renaming the get method name to something else eg: SubmitFormConfirmation(), SubmitFormAsync(bool? confirm), SubmitFormCompleted() would be very awkward if it works ... because you have to doctor the <form markup to specify an action name.

3. You cannot give them all async names SubmitFormAsync(), SubmitFormAsync(bool? confirm), submitFormCompleted(), because the call just keeps malfunctioning. It sometime even behaves as if you are requesting a delete of something.

Can someone give an insight from an actually working sample.

View 5 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved