Could not load type ASP.ViewSwitcher - c#

I added FriendlyUrls package via NuGet to my asp.net web pages project.
When I debug the solution it returns error that ASP.ViewSwitcher in ViewSwitcher.ascx could not load.
I did not find anything on the internet about this issue.
Could anybody please help me, how to fix this?

change
<%# Master Language="C#" AutoEventWireup="true"
CodeBehind="Site.Mobile.master.cs" Inherits="ASP.Site_Mobile" %>
to
<%# Master Language="C#" AutoEventWireup="true"
CodeFile="Site.Mobile.master.cs" Inherits="ASP.Site_Mobile" %>
(Edit)
That is the case if you are working on a website as oppose to a web application.

I faced the same problem. Thanks to user3260977. I'm going to elaborate what he told.
Once you have installed FriendlyUrls package, there will be a file called Site.Mobile.Master. Double click and open it. Change CodeBehind="Default.aspx.cs" to CodeFile="Default.aspx.cs". Now open the file ViewSwitcher.ascx and change CodeBehind="ViewSwitcher.ascx.cs" to CodeFile="ViewSwitcher.ascx.cs".
Basically change every file where there is CodeBehind to CodeFile.

try importing the namespace
<%# Import Namespace="Microsoft.AspNet.FriendlyUrls" %>

Related

The name does not exist in the current context

I have the following HTML in an .aspx:
<div ID="divText" runat="server" style="position:absolute;top:60px; left:800px; width:600px; height:100px; z-index:2;font-size:200%">
</div>
Then in the code behind, IntelliSense finds the 'divText' but I get the compile error listed in the title
string productEdition = ConfigurationManager.AppSettings["Club"];
divText.InnerHtml = productEdition;
The compile error:
Error 3 The name 'divText' does not exist in the current context
The thing is the same EXACT html and code work in another file. We have tried everything. Any ideas?
In case other suggestions don't work, delete designer file, right click the markup file and click "convert to web application".
This error usually occours when you have copy pasted an aspx file. Please verify that your aspx is pointing to the correct cs file. Also check the names of the two files.
Other option is that there is something wrong with your designer file. If you want to Visual studio to regenerate your designer.cs file, you can go into design mode, make a small change and save the file.
Let me know if none of this works (90% of the time this issue is caused by this).
I had a similar issue when getting old VS2005 aspx/aspx.cs files into a new project in VS2013. I resolved this by creating a new web application, creating a new webform for each aspx page and copying the code for .aspx and .cs. Once copied I have to change the .cs files first line to use CodeBehind instead of CodeFile .
<%# Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="_Login" %>
TO
<%# Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="_Login" %>
I hope this helps someone else.
Most likely the control variable did not get added to the aspx.designer.cs file. You can re-add the control and Visual studio might add it for you or you can add it manually to the designer.
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divText;
Right-click on the ASPX (or ascx) file, and select Convert to web application (or something like that). That will force a refresh on the designer file.
and you can right-click on project in solution explorer and select to web application. in this case all of your project files will be change.
if you can't see convert to web application after right click, you can click on project menu and you see convert to web application in bottom
I think the problem mix of 3 issue in the middle:
check if namespace in the code MyFile.aspx.cs file is the same of project.
in the MyFile.design.aspx.cs the namespace should match with previous file
if the design file of your aspx page in the partial class have declared the control that give that error.
In my case the issue appeared after copy/added the existing aspx file.
After checked if all namespace are correct the issue was solved.
Looks like your problem may be the uppercase ID which is not setting the id of your element. Also not sure how the id becomes an object given the code you posted.

How to register Ajax Tool Kit to SharePoint 2010

I've tried to use Ajax Control Tool Kits on SharePoint 2010 Web Site, but Im having some trouble with registration. I've searched a lot on google for a solution. I've found some ways, but my problem is not solved. When I open my web site, still getting registration error.
The problem is registration of Ajax Tool Kit. Here is my steps.
1 - Downloaded Ajax Control Tool Kit latest version.
2 - Added following line to my page
<%# Register Assembly="AjaxControlToolkit, Version=3.0.30930.28736, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
3 - Added following line to my master page (v4.master)
<%# Register Assembly="AjaxControlToolkit, Version=3.0.30930.28736, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
4 - Replaced this tag
<asp:ScriptManager>
with
<ajaxToolkit:ToolkitScriptManager>
but problem not solved.. Still getting same registration error. I need your suggestions about implementing Ajax Control Tool Kits on Share Point 2010. Thank you.
This SO answer might help ajax control toolkit & sharepoint 2010

Regarding Telerik Reporting

I created this class library(ReportLib) with a simple Telerik report using Telerik Reporting Wizard. I then made this simple web application project, added ReportLib as a reference. Now in my asp page, intellisense is not detecting Telerik:ReportViewer tag! In the code behind too I have added the following ;-
using Telerik.Reporting;
using Telerik.ReportViewer;
What's wrong ? My web app project is building successfully. Why won't it detect the telerik tags?
[EDIT]
Do i need to register the Telerik.Reporting.dll on my aspx page too? How to do that ?
Registered assembly as follows..still wont detect the telerik:report viewer tag:-
<%# Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplicationReporting1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%# Register Assembly="Telerik.Reporting" Namespace="Telerik.Reporting" TagPrefix="telerik" %>
<%# Register Assembly="Telerik.ReportViewer" Namespace="Telerik.ReportViewer" TagPrefix="telerik" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<tel
</div>
</form>
</body>
</html>
[EDIT]
ok in my web config file..there's no telerik assebly added that I can see..How so ? I did add the refernce to telerik reporting dll! Why didnt it show up in web config file?
Check the Telerik Reporting documentation about your problem. First, you will need to create your report within a class library project, and then assign the report to the Web Report Viewer.
In case you still have problems, contact Telerik - they will assist you with a more detailed reply.
Your project most likely, does not have the correct reference to the correct Telerik assmbly. The contractors we sometimes hire where I work, run into this and 100% of the time thats been the issue.
If you dont know how to register the control then go into the design mode for your page and drag it from the toolbar, and drop it into your page. VS will write the code for you.
The drag-and-drop solution will also take care of your web.config settings

Code behind file not recognizing controls in *.ascx

I have a QuestionControl.ascx and a QuestionControl.ascx.cs code behind file I copied to a new project. When I build the project any references in the code behind file to controls declared in the ascx gives me this error:
'QuestionControl' does not contain a
definition for 'rdbtnlstQuestion1' and
no extension method
'rdbtnlstQuestion1' accepting a first
argument of type 'QuestionControl'
could be found (are you missing a
using directive or an assembly
reference?)
This is at the top of my *.ascx:
<%# Control Language="C#" AutoEventWireup="true" CodeFile="QuestionControl.ascx.cs" Inherits="QuestionControl" %>
I've also tried CodeBehind:
<%# Control Language="C#" AutoEventWireup="true" CodeBehind="QuestionControl.ascx.cs" Inherits="QuestionControl" %>
This is the top of my class in the codebehind file, it is not contained in a namespace:
public partial class QuestionControl : System.Web.UI.UserControl
{
Try deleting your designer file. VS.NET should recreate it for you when you open the ascx file. I've had problems like this in the past where the designer gets out-of-sync for some reason, and deleting it usually fixes the problem.
Another solution is to:
open your .ascx page in design view
right click anywhere on the page and select Refresh
(.ascx.designer.cs file may need to to be closed while doing refresh for this to work)
In VS2017 there is no option 'Convert to Web Application' in the context menu of the .ascx file. Instead you need to select to .ascx file then click on 'Project' in the upper menu and select 'Convert to Web Application' (which is all the way down in the Project menu.
What worked form me was listed on another SO answer and I can't find it so I'm repeating it here.
Try deleting your "ReflectedSchemas" folder in
C:\Users\YOURUSENAME\AppData\Roaming\Microsoft\VisualStudio\15.0_079f391b\ReflectedSchemas
This worked for me. Sometimes I get the "unrecognized" errors, and I delete this folder again. Many thanks to the OP. Been driving me crazy for years. Now I have no "squiggles" in the HTML and no "red bars" in the code behind (aspx.cs)
I had problems for example creating a dropdownlist inside a gridview. What I did is creating the ddl outside of the gv until the desinger.cs recognized it and afterwards moved the control inside the gv... hope this helps
I was having the same issue, the code-behind didn't recognize the controls on the .aspx page. I'm using VS 2012. I right-clicked the project; clicked on Convert to Web Application; and it added all the designer files that weren't there at all before. I rebuilt everything and it's good now.

Asp + code behind: reference missing?

I'm currently working on a project I've just received that is asp.net + vb.
I have to add a gridview in one part of the page, but it simply won't let me set the datasource
<%# Page Language="VB" MasterPageFile="~/Common/Common.master" title=whatever" %>
<%# Register TagPrefix="uct" TagName="SubmenuControl" Src="whatever.ascx" %>
this loads the masterpage and a simple menu.
I had to create a page, so I've based myself on the existing ones:
somepage.asp
Based on othes pages, I've copied the code behind insertion method:
<%# Import Namespace="somelibrary" %>
<%# Import Namespace="otherlibrary" %>
<script runat="server">
'some vb code
</script>
But when I compile, I get the message:
alt text http://dl.dropbox.com/u/3045472/ex.png
Did I forget something? I use simple system references (IO and DATA) it should work without any adition, I've added anyway the .data reference, but it doesn't work, so, what should I do ?
Since there's no vb coding in this question, you could answer it in C# or VB if any addition is needed in the code behind.
info:
0-Visual Studio 2008
1-Works without this page
2-VB.NET but you can use C#
3-I'm new to asp, don't freak out
4-Without the references, the objects that use those references aren't recognized (underlined as reference missing) so the references load OK in theory.
5-If instead of adding the reference in the beginning I give the complete path to the object (ex.: system.io.fileinfo) I get the exact same error.
6-I'm watching this question, anything else you need to know, comment.
You aren't compiling, you're running in debug mode. The startup project you have set is not the ASP.NET project. In Solution Explorer, right click on the web project itself, and select "Set as startup project". Or to simply compile, try Ctrl-Shift-B.
Visual Studio often "runs" whichever project you have open in the text editor (depending on how you invoke the run/build command).
Try opening the default.aspx page in the text editor before you run/debug the project.

Categories