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


Similar Messages:

MVC :: Multiplie Views For One Action?

Aug 23, 2010

I'm trying to make a management panel for my controller "Products". People should be able to visit http://something.com/products and see a complete list of the products and be able to order etc.. The administrator should be able to log into a management panel where he can edit the product list (edit/add/delete), now is my question how can I render the management page for Products and still be able to visit the regular product list that customers see?

View 3 Replies

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

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

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

Perform Action After Return In Function

Feb 24, 2011

Without giving away specifics: basically, I have a bunch of users adding content to my site. What happens now is ajax sends the text to a web service which does its thing, sends the info to the DB, Sends the user an e-mail, and then returns a response to the browser to do something.

What I would like to do is change that order. I want to return a response to the browser so the user is not waiting on the e-mail to send before they get their response. Basically, I'm trying to gain every milisecond I can to quicken the response, and there's no reason for the user to wait for the server to send their e-mail before it tells them that everything worked ok. If the info went to the DB, that's all the user needs to know, they'll know the e-mail sent when it shows up in their inbox. I notice this is an issue on my local machine which has no SMTP server and can actually hang the page response up for a few extra seconds because it's throwing errors trying to send something with no SMTP server.

So, I know in my function when I say

[Code]....

it WORKS, but I want to send the e-mail after the return. Is there ANY way to get this to happen?

View 5 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

Jquery - Return Error From MVC Action?

Mar 4, 2010

I am using ASP.NET MVC for developing a web site. I am using jquery for AJAX functionality. In the action methods, I want to return some error to signal that the input is not correct or that the action could not be performed. In such error cases, I expect the jquery ajax error handler to be called and I can take appropriate action in there. I have not found a way how to do this. Following is my action method.In error cases, what should I be sending from an Action in order to get the jquery error handler triggered?

public ActionResult AddToFavourites(int entityId, string entityType)
{
if (!Request.IsAjaxRequest())

[code]...

View 2 Replies

MVC :: Shouldn't UrlHelper.Action Return MvcHtmlString?

Jan 17, 2011

When I write this

[Code]....

which makes things quite tedious. Wouldn't it be easier if UrlHelper.Action returned MvcHtmlString?

View 1 Replies

C# - How To Return Json From Action Method With Array Property

Mar 14, 2011

I am trying to return some data as json from an action method.

I have an employee object that looks like this:

public class Employee
{
public int EmployeeID {get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
//Other irrelevant properties
}

Then I have a view model as follows

public Class EmployeeViewModel
{
public Employee Supervisor{get; set;}
public List<EmployeeViewModel> Employees
}

I need to return a json object that looks exactly like this:

{id: 1, name: John, children: [
{id: 1, name: Joe, children: []},
{id: 1, name: Rob, children: []}
]}

For now I only need to go to the second level as above, returning and supervisor and their staff members beneath them.

How would I go about returning this in my action method(I have the viewModel object hydrated already I just need to return it as json). My problem so far has been that the children property does not get populated.

View 1 Replies

Jquery - Return An Error In An Ajax Scenario From MVC Action?

May 14, 2010

I am using ASP.NET MVC with jquery. I have the following MVC Action that returns a partial page on Success. On Application Error, I am not sure what to send it for correctly handling it at the client side.

public ActionResult LoadFilterSet(int filterSetId)
{
try
{
BreadCrumbManager bcManager = this.ResetBreadCrumbManager(this.BreadCrumbManagerID);
GeneralHelper.LoadBreadCrumbManager(bcManager, filterSetId);
ViewData["BreadCrumbManager"] = bcManager;
return View("LoadFilterSet");
}
catch (Exception ex)
{
return Content("");
}
}

Following is my jquery ajax call. Notice that I am checking for the data length to make sure there are no errors. Please suggest me a better way of doing this.

$.ajax({
type: "GET",
dataType: "html",
async: true,
data: ({ filterSetId: selectedId }),
url: link,
contentType: "text/html; charset=utf-8",
success: function(data, textStatus) {
if (data.length > 0) {
// Clear the local filters first.
clearLocalFilters();
$('td.selected-filters table.filters-display').append(data);
}
}
});

View 2 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

Ajax - How To Return An Error From A File Download Action Without Leaving The Current Page

Jul 12, 2010

I am calling a file download action from javascript:

$elem.click(function() {
window.location.href = 'MyController/MyFileDownloadAction';
});

The controller returns a file:

[code]...

This action has a pretty high likelyhood of throwing an exception (or at least not being able to return the file).

Due to the nature of the application (which contains a lot of dynamic content), I can't really redirect to an error page in this situation. The current page needs to stay open somehow.

So I'm ideally looking for something like a javascript pop-up, but afaik this isn't going to be possible since I don't know any way to return a javacript instruction in a non-ajaxed controller call. If I display an error page I need to force it to open in a new window some how. Is there any possible solution to this problem?

View 1 Replies

Web Forms :: Back Button - Action To Return Back To 2 Pages Before On Single Click?

Oct 15, 2010

[Code]....

I have created a back button on my asp page. However, I would like this back button a a sinlge click to return the user to the page 2 pages before. I have tried to enter the history.back(2) but with no luck it does not work.

View 5 Replies

Added 5 Views In The MultiView But All Views Are Tight Together?

Sep 28, 2010

I am learning MultiView control.Here are question:I added 5 views in the MultiView but all views are tight together. I can not drag and drop another control such as text boxes or labels into view area.

View 15 Replies

C# - .NET MVC Partial Views And Routing - Using Ajax Calls To Trigger A New Request But Non Of The Partial Views Are Refreshed

Mar 9, 2010

I have an MVC view that contains a number of partial views. These partial views are populated using partial requests so the controller for the view itself doesn't pass any data to them. Is it possible to reload the data in one of those partial views if an action was triggered in another? For example, one partial view has a jqGrid and I want to refresh the data in another partial view when a user selects a new row in this grid. Is there a code example for this scenario (in C#) that I can look at to see what am I doing wrong? I am using ajax calls to trigger a new request but non of the partial views are refreshed so I am not sure if the issue is with the routing, the controller,

View 1 Replies

MVC :: Why Synchronous Action Wasn't Executed Until Asynchronous Action Completed

Nov 29, 2010

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?

View 1 Replies

MVC :: Redirect Action Not Working In Jqgrid Action Results Method

Mar 23, 2011

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..

[Code]....

View 9 Replies

Test That A Controller Action Simply Returns A Link To Another Action?

Apr 29, 2010

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].....

View 1 Replies

MVC :: Create Action Not Carrying Model Across To Http Action

Jun 12, 2010

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..

View 5 Replies

How To Pass Parameters To An Action Using Html.Action() In MVC?

Jun 30, 2010

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?

View 1 Replies

MVC :: Controller Invokes GET Action Instead Of POST Action

May 20, 2010

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?

View 4 Replies

MVC :: Dynamically Adding Action Filter To Action?

Jun 21, 2010

Does any one know how to dynamically add ActionFilter to an Action?

View 3 Replies

MVC :: Determine Which Action Invoked Particular Action?

Nov 12, 2010

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).

View 1 Replies







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