MVC 2 - Views In Separate Assembly - No Intelligence
Feb 17, 2010
I have two projects in my solution: a) MVC Application b) Class Library. The class library acts as a plugin, so it contains views. The main problem is that I have no intellisense in the view's markup for my classes contained within the class library (the same assembly as the views). In the beginning I couldn't even write <%= Html.RenderAction... %>. I've solved that by adding a Web.config file to the class library with the following section:
<configuration>
<system.web>
<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
</system.web>
Now it recognizes Html.RenderAction, etc in the view's markup. However I've no idea how to get access (with intellisense) to my classes contained within the same assembly as the views
View 3 Replies
Similar Messages:
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
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
Jun 1, 2010
I have a web application which uses membership and profiles. I successfully used the WebProfileBuilder extension, so my profile class is correctly generated, and is working nicely. However, after a new request of my client, I need now to move that profile management part into another assembly (so I'd be able to get profile information in a windows service running on the same machine).
What I made is created the new assembly, moved my generated profile file, and tried to use it from the other assembly, but without any success. I always get a SettingsPropertyNotFoundException. My thought is that the profile system doesn't know where to find its connection information, so I tried to add the connectionstring and provider in the app.config of this assembly, but this doesn't seem to work.
View 2 Replies
Feb 21, 2010
I just want to know if anyone stores their helper classes or methods in a separate assembly and why...just for clean management of them? I've seen so many posts about using a helper folder inside your MVC project and that brings me back to the messy old days in ASP.NET where people were using an App_code folder instead of cleanly separating things out physically like this into its own project. And likewise nobody doing real architecture is going to put models in some folder in your MVC web assembly. They would go in MyApp.DataLayer assembly or MyApp.Models or something like this.
View 5 Replies
Jun 10, 2010
I am using two Grid Views to display data. One (headersGV) is used to show custom headers which change depending on the device type in the second table (dataGV).
The second displays device data and is bound to db tables. This table has a sort mechanism enabled, the functionality of which is in the header cell of the table, hence the need for the headerGV for column headers.
I need to align these two seperate tables so that the headers align with the data columns in the other table. The dataGV columns dynamically resize depending on the data displayed.
I have tried inline styles, css bound to both tables at different levels of priority, onbind methods, and overriding DataBind() method.
View 6 Replies
Apr 14, 2010
If I have a reference in my project to System.Data.Linq in an MVC application compiled against 3.5 I can use Linq to SQL generated entity objects in my views and access the foreign key entity sets. If I try and do the same thing in 4.0 I get the error messageCompiler Error Message: CS0012: The type 'System.Data.Linq.EntitySet`1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
View 1 Replies
Sep 3, 2010
I'd like to create a class library project where embed resources like js, css and maybe image files. I would compile it and copy the dll into the bin folder of my web site to include the resources into my pages with GetWebResourceUrl.
I tried with an assembly that have no .cs files, but it doesn't seem to work, I can't see the namespace of the assembly in the web project.
View 1 Replies
Feb 3, 2011
When i loading modules from different places i injected them to controller factory, but when it is trying to load strongly typed views it can't find model type that is contained in module assembly.I made new ViewEngine and now it looks in right places but it cant load strongly typed views.
So as i understand i need to show the view where to find class model. If you have any other ideas please tel me. And one more i need this problem to be solved for WebFormViewEngine and RazorViewEngine.
View 4 Replies
Feb 18, 2010
I have recently discovered that I am affected by this bug http://www.mail-archive.com/mono-bugs@lists.ximian.com/msg71515.html
Well,at http://www.mail-archive.com/mono-bugs@lists.ximian.com/msg71529.html they say the work around is to create a global policy assembly and redirect the assemblies that way since it is not read from the web.config.
How do you actually do what they describe there? There is a huge documentation gap in that area with Mono.Also,I can't just recompile the assembly to use the new Mono assembly versions because the assembly is closed source.(but it does work with Mono.)
View 1 Replies
Jan 14, 2010
I have access to two seperate databases (mySQL) located on two servers. I need to get the data, link the tables on a key field and display the results in a datagrid. My challenge is that if the search criteria changes for the display it affects rows returned from on table and should thus automatically affect the linked table and resulting data returned.
what the best approach would be to achieving this? So far I have set up a dataset with a dataadapter and table for each connection and then linked the tables in the dataset. The problem that I'm having is getting the linked resultsets to work.
On my form I have the datagrid with two Objectdatasources one for each dataadapter and i believe that's where I'm going wrong...
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
Feb 28, 2011
How come an ASP.Net button "caption" is it's value and a regular html button "caption" comes from the innerHTML.
And why do I not get intellisense for sender.innerHTML in VS?
ASP.Net
Code:
[code]....
View 4 Replies
Feb 2, 2010
I am beginner to ASP.NET MVC.
We are doing project in Asp.Net MVC and Nhibernate.
How to seperate my project in to layers ? how to design classes ?
should i followany patterns ? repository patterns ?
View 3 Replies
Oct 11, 2010
i was wondering if visual studio 2010 can be used as an assembly editor too????if yes where do i have to go to create a first blank page for an assembly project?
View 1 Replies
Jul 5, 2010
Before using any class in your website project/page we have to add it's assembly reference to our project. Right?
Now, when I am using SmtpClient class from System.Net assembly after adding the System.Net.Mail namespace in namespace node of application's web.config file but without adding assembly reference to the project, it still accepting and running the code. Why?
I enquired the machine's web.config file located at C:WINDOWSMicrosoft.NETFrameworkv2.0.50727CONFIG but didnt find assembly reference for System.Net there also.
So bit confused how it is working and where the assembly reference has been added and how?
View 1 Replies
Aug 17, 2010
I installed Visual studio 2008. I want to open Reports. I want to install Business Intelligence development studio for that. May I know how to install that one. Is Business Intelligence development studio comes with Visual studio 2008.
View 3 Replies
Mar 8, 2011
I'm about to begin a new asp.net application using .net 4.0. Only concern I have is since the project calls for reporting, I cannot use SSRS with SQL Server 2008 b/c the tempate for Bus Intelligence Projects is missing from 4.0. I've been told that the next release of SQL Server 2011 (some time this year), will resolve this problem. Meanwhile, I'm wondering if the following approach would work:
1) Create the application in VS2010 using the SQL Server 2008 db.
2) Create the SSRS Bus Intelligence project using VS2008 and create a seperate website pointing to the same SQL Server 2008 Db?
Kind of a hack, but I guess the only problem with this is, the Bus Intelligence project will not be able to reference and leverage and DLL or code from the application.
View 1 Replies
Dec 26, 2010
I want to make google like intelligence searching system for searching data from list in my project. i mean when i write something in google bar for searching it automatically start showing some related words in down side. how can i achieve that search in my project? should i use some API ?
View 2 Replies
Feb 11, 2011
In my vs2008 web.cong content is displaying black and intelligence is not working.So i uninstalled it and again re-installed.But did not work.
View 2 Replies
May 2, 2010
I'm getting following warning
Assembly generation -- Referenced assembly 'System.Web.dll' targets a different processor
What does this mean and how do I fix this?
View 1 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
May 21, 2010
I've been working on this project for a few days now, and have been unable to resolve the issue of getting intellisense support for my custom-defined inner properties for a user control (ascx, mind you). I have seen the solution to this (using server controls, .cs mind you) many times. Spelled out in this article very well. Everything works for me while using ascx controls except intellisense. Here's the outline of my code:
[PersistChildren(true)]
[ParseChildren(typeof(BreadCrumbItem))]
[ControlBuilder(typeof(BreadCrumbItem))]
public partial class styledcontrols_buttons_BreadCrumb : System.Web.UI.UserControl
{
...
[PersistenceMode(PersistenceMode.InnerDefaultProperty)]
public List<BreadCrumbItem> BreadCrumbItems
{
get { return _breadCrumbItems; }
set { _breadCrumbItems = value; }
}
...
protected override void AddParsedSubObject(object obj)
{
base.AddParsedSubObject(obj);
if (obj is BreadCrumbItem)
BreadCrumbItems.Add(obj as BreadCrumbItem);
}
...
public class BreadCrumbItem : ControlBuilder
{
public string Text { get; set; }
public string NavigateURL { get; set; }
public override Type GetChildControlType(string tagName, System.Collections.IDictionary attribs)
{
if (String.Compare(tagName, "BreadCrumbItem", true) == 0)
{
return typeof(BreadCrumbItem);
}
return null;
}
}
}
Here's my mark up (which works fine, just no intellisense on the child object declarations):
<%@ Register src="../styledcontrols/buttons/BreadCrumb.ascx" tagname="BreadCrumb" tagprefix="uc1" %>
...
<uc1:BreadCrumb ID="BreadCrumb1" runat="server" BreadCrumbTitleText="Current Page">
<BreadCrumbItem Text="Home Page" NavigateURL="~/test/breadcrumbtest.aspx?iwentsomewhere=1" />
<BreadCrumbItem Text="Secondary Page" NavigateURL="~/test/breadcrumbtest.aspx?iwentsomewhere=1" />
</uc1:BreadCrumb>
I think the issue lies with how the intellisense engine traverses supporting classes. All the working examples I see of this are not ascx, but Web Server Controls (cs, in a compiled assembly).
View 1 Replies
Jun 3, 2010
I just want to create Shared Assembly and use that assembly in our application.I am using VS 2005.
Step 1
I am trying to build a dll.
Create class library project <TestDllHell>.
Under that project add CalculationArea.cs file.
[Code]....
Then TestDllHell.dll add into GAC successfully.
Now I want to use it in my Website project so did the following steps but unable to view that dll in .Net Reference List Box.
•I go for Run regedit to edit the Windows Registry.
•Navigate to the HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkAssemblyFolders key.
•Right click on the AssemblyFolders key, then select New > Key. Enter the name of your assembly (without the .dll extension).
•Double click on the key's (Default) value. The Edit String dialog will appear. Enter the full path of the folder where your assembly resides. Note that all assemblies in that folder will appear in the Visual Studio list.
•IMPORTANT! You must exit and restart Visual Studio to see your assembly in the Add Reference dialog.
My question is that
How can I get that dll in my add reference assembly List .Net section?
And if I modify that dll(TestDllHell.dll) then again register in GAC then version will be different,So how can I told my client application that which dll you choose?
View 3 Replies
Nov 16, 2010
I have installed VS 2008 and then i installed sql server 2005 with reporting services. But i couldn't find the Business intelligence projects template in VS 2008. Suprisingly i could find the Business intelligence project template in VS 2005 which was installed automatically when i installed Sql Server 2005 and there ware no other project types like Visual C# etc.show me a way to get the Business intelligence projects template in VS 2008.
View 1 Replies