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
Similar Messages:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Aug 26, 2010
Curious what the best practice is for returning errors to a view from a controller where the error isn't really a validation error, but more like "user not found" or "service timeout" type of errors. (in ASP.NET MVC2 framework)
I've been adding them to the ModelState's model errors, but that doesn't seem appropriate. (although easy to implement and maintain)
Example - A user tries to log in, and their credentials do not match a known user.
View 1 Replies
Nov 26, 2010
I am getting the above when I try and open a view in a controller in an Area. Ninject is set up as follows:
public class NinjectControllerFactory : DefaultControllerFactory
{
private IKernel kernel = new StandardKernel(new RLSBCWebSiteServices());
[code]....
Has anyone managed to get Areas working with NinjectControllerFactory, or is there something wrong with my set-up?
View 1 Replies
Oct 26, 2010
How can I add a sub folder within the Views folder for a controller?
I have a controller named "admin". In the Views folder, there is an "admin" folder.
The admin controller has a number of actions. For each group of actions, there is a partial class that contains the actions of the group. admin/reports, admin/inventory, admin/orders, ... Problem is, when I move the "ReportsIndex.aspx" view into folder Views/Admin/Reports, MVC says it cant find the view when the ReportsIndex action method does a "return View("ReportsIndex", model) ;".
View 2 Replies
Dec 28, 2010
UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, that follows the UP(Unified Process). It uses a Grasp Controller pattern to interact with domain classes by some methods like NewSale(), AddNewItemToSale() and CloseSale. In windows form, I can instantiate a object of this class in the UI and then use its methods to perform the actions. This works well in Client apps, but when I use asp.net mvc, I cannot find a way to instantiate an object (one for each user) that was always visible for a Controller (MVC). I cannot insert as an attribute inside Controller because it always create a new one.
View 1 Replies
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
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
Aug 16, 2010
I have a simple model where a Person has Gifts. I have a view which is a list of Gifts belonging to one Person.
My problem is with the Create action for a new Gift. I want it to default to the PersonID that we are already viewing the list of Gifts for. I tried simply passing the last PersonID (they are all the same)
Html.ActionLink("Create New", "Create", new { id = Model.Last().PersonID }) which works fine if there is already at least one Gift for that person but if this is the first Gift I don't have a value.
My Gift List controller knows the PersonID I want to pass but the view doesn't.
How do I pass this PersonID from my Gift List controller to my Gift Create controller via the Gift List view? Or is there a better way to do this?
View 2 Replies
May 30, 2010
I have a filter on my MVC web site. I display some records in a few different controller actions but when moving from one action to another I want to apply those filter values.
How can I persist values from controller to controller?
Should I use Session? TempData?
I am using Structure Map for IOC.
Maybe I could have a class that contains a Property for each Session Value that I use in my application and inject it on the controllers that need session?
View 10 Replies
Mar 14, 2011
How do you get the current action / controller name in a controller or class?
i can't show it in my view but that's not what i want.
View 1 Replies