webForumDet fria alternativet

från web site till web application

.NETur .NET

5 svar · 539 visningar · startad av Arizon

Medlem sedan juli 200799 inlägg
Frågan#1

har precis följt denna guide: http://webproject.scottgu.com/CSharp/Migration2/Migration2.aspx för att göra om min web site i asp.net till en web application. jag la även till name spaces på mina code behind-filer och nu får jag "<control> does not exist in the current context" på alla mina aspx-controls som jag försöker göra nånting med i code-behind. jag antar att detta beror på att jag lagt till namespace och .aspx-filerna inte har detta? hur gör jag för att lägga till namespace i dessa, eller beror det på nåt annat?

Medlem sedan juli 200799 inlägg
#2

Jag löste problemet. Det jag behövde var att i attributet "Inherits" lägga till namespace innan namnet på filen:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="filnamn.aspx.cs" [B]Inherits="namespacenamn.filnamn" [/B] %>

om nån skulle ha samma problem...

Medlem sedan juni 20003 076 inlägg
#3

Liten rättelse bara!
Det är inte filnamnet du anger i attributet Inherits utan klassnamnet, filens namn har du redan angett i attributet CodeBehind. :)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="filnamn.aspx.cs" Inherits="namespacenamn.classnamnet"  %>

Och codebehind-filen ser ut:

namespace namespacenamn
{
    public partial class classnamnet : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

Sen är det också rekomenderat att byta ut attributet CodeBehind till CodeFile istället (om man kör asp.net 2.0).

/RED
Välkommen till wF föresten! ;)

Medlem sedan juli 200799 inlägg
#4

doggelito skrev:

Liten rättelse bara!
Det är inte filnamnet du anger i attributet Inherits utan klassnamnet, filens namn har du redan angett i attributet CodeBehind. :)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="filnamn.aspx.cs" Inherits="namespacenamn.classnamnet"  %>

Och codebehind-filen ser ut:

namespace namespacenamn
{
    public partial class classnamnet : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

JA! du har såklart rätt! det är klassnamnet. det tänkte jag såklart inte på.

doggelito skrev:

Sen är det också rekomenderat att byta ut attributet CodeBehind till CodeFile istället (om man kör asp.net 2.0).

/RED

hmm. när jag gör en ny webForm så får jag CodeBehind som attribut istället för CodeFile. kan detta ha med min VS-version att göra eller ska man behöva byta denna tagg på varje sida man skapar?

doggelito skrev:

Välkommen till wF föresten! ;)

Tackar och bockar! :h

Medlem sedan nov. 20014 054 inlägg
#5

förmodligen så beror det på din VS version :)

Medlem sedan dec. 19996 721 inlägg
#6

Arizon skrev:

hmm. när jag gör en ny webForm så får jag CodeBehind som attribut istället för CodeFile.

Det är för att det är rätt. CodeFile är för Website. CodeBehind gäller för Web Application.

131 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)