Php - MVC Architecture Decision - Refactor Existing Approach Into Controllers / Views And Database Access
Feb 12, 2011
Consider the following scenario: Page written in classic ASP or PHP, which is rendering a data report (series of HTML tables for simplicity). There is one main database query and then multiple sub queries as the page renders. The report is split into sub panels, which correlate to a sub query. Therefore:
Main database query. Loop over result. For each row, execute sub query and render report panel. How would you architect a similar report using the MVC pattern? This can be split into two parts: Efficiency at database level of multiple queries, which are dependent on values from an outer query. If all data was processed and prepared in the controller, would this also be deemed inefficient if looping within the controller and then again in a view to render. Could sub controllers be used or sub panels, which encapsulate smaller sections of logic i.e. loading data and rendering report panel.
View 2 Replies
Similar Messages:
Feb 3, 2011
I have an MVC 3 application which uses asp.net authentication. I have just created a custom errors controller and a couple of views for unknown errors and 404's. This works fine when I am logged into the application but if an internal server error happens during logon I would like to display the error/unknown view. However I just keep getting redirected back to the login as I am not authenticated.
I have added a location path for 'Views/Error' to my Web.config to allow access to all users but I am guessing it's the controller access that is causing the redirection.
Is there any way you can allow this in MVC or do I need to think of another solution? Just did not want to add a generic message to the login page as that's what my unknown error view is for.
View 2 Replies
Apr 19, 2010
Basically what the title says. I created a new MVC application. I'm trying to add new pages to the site, but anytime I do I get the following error:Server Error in '/' Application.The resource cannot be found.Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
namespace MyAppMVC.Controllers
{
public class ProductsController : Controlle{
public ActionResult Index()
[code]...
View 3 Replies
Jan 20, 2010
For applications that need to have fastly different view layers, and I would like to still use the idea of the controller. I would ideally like to but the controllers in a Class Lib. and then have only the Views in a MVC Web Application. Taking the model out in this way works well, but I can't find a nice way to split the views and controllers.
View 7 Replies
Jan 7, 2010
I am new to MVC. my question is when we add a view to the controller event by doing the right click and add view.then we give a view name and click on add button. where is this information stored that which view is linked to which view?
View 2 Replies
Apr 14, 2010
I'm building a CMS type of application in MVC. I want to reuse my views and controllers for adding/managing content in at least two other MVC sites. Obviously I dont want more than one code base for the CMS stuff. I figured out a way to do so:
Controllers:
Controllers are easy. Nothing more than creating a new Class Library Project and adding your controllers. Be sure to reference System.Web.MVC. In your MVC project just reference your controller assembly.
Views:
Views are a bit trickier. My solution was to add the folder structure to my assembly
CMSViews
CMSViewsWhatever
Then start adding my view pages. For each page, you have to set the 'Copy to Output Directory' to 'Copy Always' (right click -> properties)
Then I created a new class which inherits from 'WebFormViewEngine'. In the constructor I call the base() and then I add paths to the base.MasterLocationFormats and base.ViewLocationFormats to specify the new locations to look for views.
[Code]....
Setup in MVC project:
To get the controllers and views to work from the assemblies, you have to add two lines of code in the global.asax. Under the RegisterRoutes() method, add
ControllerBuilder.Current.DefaultNamespaces.Add("YourAssemblyNamespace.Controllers");
then under the Application_Start() method add:
ViewEngines.Engines.Add(new YourAssemblyNamespace.MyViewEngine());
What I dont like is that the Views get put into the Bin directory when published and you have to make sure to set the Ouput to Copy Always which is going to be a PITA for larger projects with lots of views.
View 1 Replies
Feb 11, 2011
We're throwing together a quick project (CRUD forms) and decided to skip view models and use EF entities directly in controllers and views. Since I'm not used to this approach, I'm confused about handling validation.
For example: a DB field has a length of 25. How does that get transferred (if it can) to a validation constraint in my view? If i was using an intermediate model, I would attach attributes to the model properties and it would work. How would I do this using EF objects directly?
View 3 Replies
Jan 15, 2011
I have a subdirectory in Controllers named Admin, which contains several controllers.
Is there a way to change the route so that I can put all the views in "/Admin" for every controller in the Admin directory? Or do I need to map a route for every single controller?
View 1 Replies
Jan 20, 2010
We have a legacy ASP.NET webforms application that we're engaged in stabilising and removing technical debt from. Is it possible to take a hybrid approach - ie, can ASP.NET MVC coexist with webforms within the same web-project? Are there any gotchas for that? If it is possible, I assume one just has to initialise the routes table, register the ASP.NET MVC handlers,
View 1 Replies
Jan 30, 2010
I hava a textbox and button in my project. I want the button on click to add a new column inside the database "Trial.mdb" , table name "table1". The column name will be text typed in the textbox and it will be text type. How could I do that? with a sql code in asp:accessdatasource or in my code behind ?
View 13 Replies
Mar 16, 2011
I would like to ask a plain and simple question about the Model-View-Controller architecture - should the UML Class diagram for my application include all the controllers and views and their relationships, or should it just include my model classes, i.e. the entities that are the heart of the application, you know - like in an ordinary application - i.e. User, Administrator, Student, Teacher, Course, Grade etc...?
View 1 Replies
Dec 14, 2010
I was planning to utilize MVP, DDD, TDD, IOC, Dependency Injection, Repository , StructureMap etc but the timeframe is very tight and this can also be achieved in n -tiered architecture:
Technology:
Client Web Portal
ASP.Net /C#/SQL Server
Project Specification:
5 types of customers
Template of service
Dynamic Data Driven portal
Modules can be activated/deactivated through management console
Branding and customization
Rapid deployment portals of future clients as well
Portals willallow for customization
Data reporting services: reports and
BOBJ Ad hoc Query
Value- Add services to the clients
portal
Each Clients welcome page can be
customized by client as well
How can I determine which Client is
on "Welcome" page without them
logging in? Create different URLS for
each client base? how?
Mobile Application services
Localization
Demo portal should be built and sent
to client for testing rapidly
Database structure:
There will be core database which will be connected to 50-60 client databases depending on the login and other details.
What is the best approach in terms of data layer? since dynamic db connections will have to be implemented?
View 5 Replies
Dec 29, 2010
What is the approach? calc: BL vs. DB?
Using Asp.net3.5/ sql2005.
What is the approach? What should calculate in the database and what to implement in the business lyre??
If I will calculate in the db - I will have less round trips and less resources on the server side host - but less flexible programmatically side..
When to use object oriented programming and when to implement the calculation on database - when what I am looking for is first performance.
View 12 Replies
Feb 12, 2010
I am starting a new project in ASP.NET (With silverlight) - I would like to get expert opinion about how to design the data access.I can use DataAccess Layer with SQL helper, but the challenge is every new field that I add needs to be added in the sql helper.I am trying to see if there is a way to design the system, so that it appears in the front end when a new field is added. I don't want to have in the ASPX files (binding in controls) I want to have ability to change items in code. Essentially I am trying to see the best option to have a database application.
View 1 Replies
Aug 14, 2010
Well i want to know how many architecture approaches we can use in asp.net web application. i was asked about it. i told him that i use a appcode for dal and bal and the presentation layer. but he was not convince. basically i want to ask what web application architecture an asp.net web application guru would use keeping in mind the different metrics ( i am talking minus web services or any SOA thing)
View 1 Replies
Aug 2, 2010
how to migrate an existing database from a specific application to a new Ms Access based application(database)?
View 4 Replies
Sep 10, 2010
Suppose we are building a web-based application to retrieve and enter information into a database. The user-interface invokes web services. Which architecture would use for the application.
View 10 Replies
Jul 22, 2010
I'm building an ASP.NET MVC 2 site where I'm currently implementing an OpenID sign-up form. Unfortunately, I'm foreseeing a possible security bug/vulnerability inside my architecture.
Here's how I want OpenID login to work:
User requests /Account/Login, Controller sends back OpenIDLogin View. User enters their OpenID into the View, then OpenID authorization takes place, and finally the OpenID is returned to the Controller.The Controller checks whether the OpenID is currently in use by a user in the system or not. If it is, the user is logged in to that account. If not, the registration process begins.
And now, the OpenID registration process:
The OpenID identifier, as well as any other information provided by the OpenID provider (such as email address or name), is put into my custom ViewModel and sent to my OpenIDRegistrationForm View.The RegistrationForm View stores the OpenID in a hidden field to make sure that it gets sent back to the Controller.The user fills in the RegistrationForm View and sends it back to the Controller.The Controller creates the user account and puts the OpenID into the database.
The bug that I see within my architecture is that a user could modify the hidden value in the RegistrationForm View. Thus, they could spoof their OpenID! I will make sure to add another round of checking to the final Registration Controller Action to make sure that the OpenID that is provided doesn't exist yet, but there is still a possibility for spoofing. Can my architecture be improved somehow? I don't want this to end badly...
One solution I'm considering is encrypting the OpenID before I send it to the View and then decrypting it when it reaches the Controller. Should I try this?
View 1 Replies
Apr 29, 2010
Here is what i would like to be able to do with the urls/routes:
1) www.domain.com/customer/home/index
2) www.domain.com/home/index
Where both the home controllers should be seperate controllers with seperate views and the company part should be an param for all the actions in the controllers.Now why i want to be able to do this is because of the following scenario: Each customer will have there own pages (which actually will all be the same for each customer but with different information per customer). The one without the customer is the general website where non customers can go to to become an customer or get information about the services we provide for them, they can sign up etc.
View 5 Replies
Nov 15, 2010
I'm working on a webforms aspx app (not MVC) and I'm not sure if I should just create separate pages or somehow make multiple views on the same aspx page for the following scenario: Basically, I need to give the user the option to view a set of data a few different ways (essentially different group by's from a data perspective)... the data is always the same, its just a matter of how to arrange on the page...
each way I need to present the data will essentially consist of 2 repeaters, one nested inside the other. The outer repeater will display a nice header section with the nested repeater showing the list of items under that heading. view by book title (title is outer repeater, with the book list being the nested repeater, yes, multiple books with same title for this example - the app has nothing to do with books, this is just to illustrate)
Book Title: A Good Story
Author - Publisher - ISBN
Dan Johnson - Smith Publishing - kjdkjfd99898989
Susan Day - Smith Publishing - aa777fd99ff
Greg Greger - Corp XYZ - amkj897hgrt554
Book Title: Another Good Story
Author - Publisher - ISBN
Frank Franky - Corp XYZ - kj3kjfd9d9980
Jason Cambel - Smith Publishing - 7g7fddddttt
Jill Breker - Smith Publishing - d9ddt523321
Or, view books by publisher (here the publisher would be the outer repeater and the list, with different fields compared to first view, is the nested repeater.
Publisher: Smith Publishing
Title - Author - ISBN
A Good Story - Dan Johnson - kjdkjfd99898989
A Good Story - Susan Day - aa777fd99ff
Another Good Story - Jason Cambel - 7g7fddddttt
Another Good Story - Jill Breker - d9ddt523321
Publisher: Corp XYZ
Title - Author - ISBN
A Good Story - Greg Greger - amkj897hgrt554
Another Good Story - Frank Franky - kj3kjfd9d9980
so what do I do here? Just making separate pages is simple and would work, but is there something else I should be considering? There will be 3 different views, so 3 pages total if I went that route. Something is making me think I should be doing this all within one aspx page? maybe just toggling the visible property of the repeater controls? but then I was thinking each of these repeater controls is databound, and I assume even if they are not visible they still incurred database hits to get the data, right? and that could be bad?
View 4 Replies
Mar 24, 2010
I am trying to get my head around the sharp architecture and used the visual studio template as described on the web:[URL] This is all cool. Unfortunately, I cannot add a strongly typed view as easily as I am used to 'under' asp.net mvc.
What can I do to 'enable' this in VS 2008 Prof? I have also installed asp.net mvc 2.0 and would like to reflect this in my 'vs studio sharp environment'.
View 1 Replies
Jan 26, 2011
c#/vb webapp. I'm working on a very old app with a ton of pages. I want to add a function to every page's PreRender. If this application was designed properly from the start, it would use a MasterPage, or would at least inherit all pages from a BasePage other than System.Web.UI.Page.The goal is that every aspx page's PreRender should trigger a call to FooFunction(). I'd like to have this done all in one page, to avoid opening every single .aspx file and changing it's inheritence / pasting FooFunction() / some other time waster.Is there a way to do this in .net? Can you point me in the direction of any design/discussion articles?
View 5 Replies
Nov 17, 2010
I want to undertand and change an existing website which was written long time back. It cntains a lot of code and I dont know where to start as there is no dicumentation.Is there any way by which i can create a class diagram and sequence diagram of the existing one as I want to incorporate all the existing functionalities in the new one and dont miss out anyone. Only way I know is to debug the current application and go through whole of the code individually. Is there any way out by which I can undertand the current application quickly?
View 1 Replies
May 15, 2010
I have a traditional web site which serves users from desktop computer browsers. I am using Microsoft technologies, like ASP.Net, C#, .Net, SQL Server 2008, IIS and Windows Server 2008. Nowadays, more and more users are using 3G mobile phones, and I am wondering from software perspective, how to add new features to my web site (do I need a client application runs on mobile phone as well?) so that 3G users could have good user experience or new kinds of 3G specific applications? Any recommended documents or real samples are welcome. For 3G users, I want to distinguish from traditional less-powered and slow network access GPRS mobile phone.
View 1 Replies
Mar 10, 2011
I'm currently facing a performance problem with creating POCO objects from my database. I'm using Entity Framework 4 as OR-Mapper. The whole application is a prototype for now. Let's assume I want to have some business objects like classes 'Printer' or 'Scanner'. Both classes inherit from a BaseClass called Product.
The business classes exist.
I try to use a more generic database approach. I don't want to create tables for "Printer" nor "Scanner". I want to have 3 tables: One called Product, and the other Property and PropertyValue (which stores all assigned values to a specific Product). In my business layer I do create a specific object like this:
public Printer GetPrinter(int IDProduct)
{
Printer item = new Printer();
// get the product object with EF
// get all PropertyValues
// (with Reflection) foreach property in item.GetType().GetProperties
// {
// property.SetValue("specific value")
// }
return item;
}
This is how the EF model looks like: Works fine so far. For now I'm doing performance tests for retrieving multiple sets. I've created a prototype and improved it several times to increase the performance. It is still far away from being usable. I takes 919ms to create 300 objects who only contain 3 properties. The reason for choosing such DB design is to have a generic database design. Adding new properties should only be done in the business model.
Am I just being too stupid to create a performant way of retrieving xx objects or is my approach totally wrong? As far as I understand OR-Mapper, they are basically doing the same?
View 2 Replies