WebAppication project doesn't like separate codefiles

Discussion in 'ASP .Net' started by cmrchs@gmail.com, Aug 1, 2008.

  1. Guest

    Hi,

    I have in my web application project (VS.NET 2008) :
    - a webform (webform2.aspx, webform2.aspx.cs,
    webform2.aspx.designer.cs)
    - a code-file Product.cs.

    But i can't use the definition of 'Product' nowhere in my page-class-
    file (webform2.aspx.cs)

    For example:

    protected void Page_Load(object sender, EventArgs e)
    {
    Product p = new Product();
    }

    the compiler doesn't know the definition of Product

    whereas if I place the definition of Product in the same codefile as
    the WebForm.cs then it works.

    How can i make it work just by keeping each class definition in its
    own codefile?
    By the way, what happened to the App_Code used in 2005?

    thank you
    Chris
    , Aug 1, 2008
    #1
    1. Advertising

  2. <> wrote in message
    news:...
    > Hi,
    >
    > I have in my web application project (VS.NET 2008) :
    > - a webform (webform2.aspx, webform2.aspx.cs,
    > webform2.aspx.designer.cs)
    > - a code-file Product.cs.
    >
    > But i can't use the definition of 'Product' nowhere in my page-class-
    > file (webform2.aspx.cs)
    >
    > For example:
    >
    > protected void Page_Load(object sender, EventArgs e)
    > {
    > Product p = new Product();
    > }
    >
    > the compiler doesn't know the definition of Product
    >
    > whereas if I place the definition of Product in the same codefile as
    > the WebForm.cs then it works.
    >
    > How can i make it work just by keeping each class definition in its
    > own codefile?
    > By the way, what happened to the App_Code used in 2005?
    >


    If App_Code isn't there its because it hasn't been created yet. App_Code is
    where your Product.cs should be. I would recommend you use a namespace as
    well the word 'Product' is fairly common.


    --
    Anthony Jones - MVP ASP/ASP.NET
    Anthony Jones, Aug 1, 2008
    #2
    1. Advertising

  3. I concur with App_Code, if not in its own assembly. If that is not to your
    liking, make sure you have the proper namespace referenced in your code
    behind/beside file.

    --
    Gregory A. Beamer
    MVP, MCP: +I, SE, SD, DBA

    Subscribe to my blog
    http://gregorybeamer.spaces.live.com/lists/feed.rss

    or just read it:
    http://gregorybeamer.spaces.live.com/

    ********************************************
    | Think outside the box! |
    ********************************************
    <> wrote in message
    news:...
    > Hi,
    >
    > I have in my web application project (VS.NET 2008) :
    > - a webform (webform2.aspx, webform2.aspx.cs,
    > webform2.aspx.designer.cs)
    > - a code-file Product.cs.
    >
    > But i can't use the definition of 'Product' nowhere in my page-class-
    > file (webform2.aspx.cs)
    >
    > For example:
    >
    > protected void Page_Load(object sender, EventArgs e)
    > {
    > Product p = new Product();
    > }
    >
    > the compiler doesn't know the definition of Product
    >
    > whereas if I place the definition of Product in the same codefile as
    > the WebForm.cs then it works.
    >
    > How can i make it work just by keeping each class definition in its
    > own codefile?
    > By the way, what happened to the App_Code used in 2005?
    >
    > thank you
    > Chris
    Cowboy \(Gregory A. Beamer\), Aug 1, 2008
    #3
  4. Guest

    On Aug 1, 7:39 pm, "Cowboy \(Gregory A. Beamer\)"
    <> wrote:
    > I concur with App_Code, if not in its own assembly. If that is not to your
    > liking, make sure you have the proper namespace referenced in your code
    > behind/beside file.
    >
    > --
    > Gregory A. Beamer
    > MVP, MCP: +I, SE, SD, DBA
    >
    > Subscribe to my bloghttp://gregorybeamer.spaces.live.com/lists/feed.rss
    >
    > or just read it:http://gregorybeamer.spaces.live.com/
    >
    > ********************************************
    > | Think outside the box! |
    > ********************************************<> wrote in message
    >
    > news:...
    >
    > > Hi,

    >
    > > I have in my web application project (VS.NET 2008) :
    > > - a webform (webform2.aspx, webform2.aspx.cs,
    > > webform2.aspx.designer.cs)
    > > - a code-file Product.cs.

    >
    > > But i can't use the definition of 'Product' nowhere in my page-class-
    > > file (webform2.aspx.cs)

    >
    > > For example:

    >
    > > protected void Page_Load(object sender, EventArgs e)
    > > {
    > > Product p = new Product();
    > > }

    >
    > > the compiler doesn't know the definition of Product

    >
    > > whereas if I place the definition of Product in the same codefile as
    > > the WebForm.cs then it works.

    >
    > > How can i make it work just by keeping each class definition in its
    > > own codefile?
    > > By the way, what happened to the App_Code used in 2005?

    >
    > > thank you
    > > Chris


    hello,

    actually I previously put the code in App_Code, but even then it
    doesn't work !
    Only when I use it inline it works, but not when placed in the code-
    behind file ???

    So, the following works:
    <script runat="server">
    void Button1_Click(object sender, EventArgs e)
    {
    Product c = new Product();
    Label1.Text = c.GetMyMessage(TextBox1.Text);
    }
    </script>

    but not in the code-behind file, how come?

    why doesn't it work the 'normal' way, I mean with the code-files in
    the same directory as the aspx-file (it works like that in WinForms)
    Or is there a way?

    thank you
    , Aug 1, 2008
    #4
  5. Do you have a line like this, to import the code-behaind class ?

    <%@ Page Language="C#" AutoEventWireup="false" CodeFile="some.aspx.cs" Inherits="_some" %>




    Juan T. Llibre, asp.net MVP
    asp.net faq : http://asp.net.do/faq/
    foros de asp.net, en español : http://asp.net.do/foros/
    ======================================

    <> wrote in message news:...
    > On Aug 1, 7:39 pm, "Cowboy \(Gregory A. Beamer\)"
    > <> wrote:
    >> I concur with App_Code, if not in its own assembly. If that is not to your
    >> liking, make sure you have the proper namespace referenced in your code
    >> behind/beside file.
    >>
    >> --
    >> Gregory A. Beamer
    >> MVP, MCP: +I, SE, SD, DBA
    >>
    >> Subscribe to my bloghttp://gregorybeamer.spaces.live.com/lists/feed.rss
    >>
    >> or just read it:http://gregorybeamer.spaces.live.com/
    >>
    >> ********************************************
    >> | Think outside the box! |
    >> ********************************************<> wrote in message
    >>
    >> news:...
    >>
    >> > Hi,

    >>
    >> > I have in my web application project (VS.NET 2008) :
    >> > - a webform (webform2.aspx, webform2.aspx.cs,
    >> > webform2.aspx.designer.cs)
    >> > - a code-file Product.cs.

    >>
    >> > But i can't use the definition of 'Product' nowhere in my page-class-
    >> > file (webform2.aspx.cs)

    >>
    >> > For example:

    >>
    >> > protected void Page_Load(object sender, EventArgs e)
    >> > {
    >> > Product p = new Product();
    >> > }

    >>
    >> > the compiler doesn't know the definition of Product

    >>
    >> > whereas if I place the definition of Product in the same codefile as
    >> > the WebForm.cs then it works.

    >>
    >> > How can i make it work just by keeping each class definition in its
    >> > own codefile?
    >> > By the way, what happened to the App_Code used in 2005?

    >>
    >> > thank you
    >> > Chris

    >
    > hello,
    >
    > actually I previously put the code in App_Code, but even then it
    > doesn't work !
    > Only when I use it inline it works, but not when placed in the code-
    > behind file ???
    >
    > So, the following works:
    > <script runat="server">
    > void Button1_Click(object sender, EventArgs e)
    > {
    > Product c = new Product();
    > Label1.Text = c.GetMyMessage(TextBox1.Text);
    > }
    > </script>
    >
    > but not in the code-behind file, how come?
    >
    > why doesn't it work the 'normal' way, I mean with the code-files in
    > the same directory as the aspx-file (it works like that in WinForms)
    > Or is there a way?
    >
    > thank you
    Juan T. Llibre, Aug 1, 2008
    #5
  6. Guest

    On Aug 1, 8:40 pm, "Juan T. Llibre" <> wrote:
    > Do you have a line like this, to import the code-behaind class ?
    >
    > <%@ Page Language="C#" AutoEventWireup="false" CodeFile="some.aspx.cs" Inherits="_some" %>
    >
    > Juan T. Llibre, asp.net MVP
    > asp.net faq :http://asp.net.do/faq/
    > foros de asp.net, en español :http://asp.net.do/foros/
    > ======================================
    >
    > <> wrote in messagenews:...
    > > On Aug 1, 7:39 pm, "Cowboy \(Gregory A. Beamer\)"
    > > <> wrote:
    > >> I concur with App_Code, if not in its own assembly. If that is not to your
    > >> liking, make sure you have the proper namespace referenced in your code
    > >> behind/beside file.

    >
    > >> --
    > >> Gregory A. Beamer
    > >> MVP, MCP: +I, SE, SD, DBA

    >
    > >> Subscribe to my bloghttp://gregorybeamer.spaces.live.com/lists/feed.rss

    >
    > >> or just read it:http://gregorybeamer.spaces.live.com/

    >
    > >> ********************************************
    > >> | Think outside the box! |
    > >> ********************************************<> wrote in message

    >
    > >>news:....

    >
    > >> > Hi,

    >
    > >> > I have in my web application project (VS.NET 2008) :
    > >> > - a webform (webform2.aspx, webform2.aspx.cs,
    > >> > webform2.aspx.designer.cs)
    > >> > - a code-file Product.cs.

    >
    > >> > But i can't use the definition of 'Product' nowhere in my page-class-
    > >> > file (webform2.aspx.cs)

    >
    > >> > For example:

    >
    > >> > protected void Page_Load(object sender, EventArgs e)
    > >> > {
    > >> > Product p = new Product();
    > >> > }

    >
    > >> > the compiler doesn't know the definition of Product

    >
    > >> > whereas if I place the definition of Product in the same codefile as
    > >> > the WebForm.cs then it works.

    >
    > >> > How can i make it work just by keeping each class definition in its
    > >> > own codefile?
    > >> > By the way, what happened to the App_Code used in 2005?

    >
    > >> > thank you
    > >> > Chris

    >
    > > hello,

    >
    > > actually I previously put the code in App_Code, but even then it
    > > doesn't work !
    > > Only when I use it inline it works, but not when placed in the code-
    > > behind file ???

    >
    > > So, the following works:
    > > <script runat="server">
    > > void Button1_Click(object sender, EventArgs e)
    > > {
    > > Product c = new Product();
    > > Label1.Text = c.GetMyMessage(TextBox1.Text);
    > > }
    > > </script>

    >
    > > but not in the code-behind file, how come?

    >
    > > why doesn't it work the 'normal' way, I mean with the code-files in
    > > the same directory as the aspx-file (it works like that in WinForms)
    > > Or is there a way?

    >
    > > thank you


    hello,

    yes i do ... in the webApp-directory I have a file
    BindingToDataAccessLayer.aspx starting with
    <%@ Page Language="C#" AutoEventWireup="true"
    CodeBehind="BindingToDataAccessLayer.aspx.cs"
    Inherits="WebForm1" %>

    in BindingToDataAccessLayer.aspx.cs I have:

    using Products; // --> COMPILER ERROR: namespace name could not
    be found
    public partial class WebForm1 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    Product p = new Product(); // --> COMPILER ERROR
    }
    }


    for the rest of my project structure:

    In App_Code i have Product.cs

    namespace Products
    {
    public class Product
    { ...}
    }

    it just doesn't make sense to me
    any suggestions?

    Chris
    , Aug 2, 2008
    #6
  7. re:
    !> in the webApp-directory I have a file BindingToDataAccessLayer.aspx starting with:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="..." Inherits="WebForm1" %>

    Please recheck that the Class in "BindingToDataAccessLayer.aspx.cs" is actually named "WebForm1".

    VS 2008 follows this type of class naming syntax in code-behind files:

    In default.aspx.cs, the code-behind page for Default.aspx...
    public partial class _Default : System.Web.UI.Page

    Notice the underscore, and notice that the page's class
    is named for the page name, with an underscore added.

    It looks to me like like renamed an aspx page, but did not change the class name in the code-behind.

    The IDE does not automatically change the class name for you if you rename a file.
    If you ask me, I think it should... :)

    In any case, for a page named "BindingToDataAccessLayer.aspx.cs",
    this is the default syntax the IDE uses when creating the page and its code-behind class:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BindingToDataAccessLayer.aspx.cs"
    Inherits="_BindingToDataAccessLayer" %>

    Your class can be named anything you want to,
    but the Inherits statement must point to the correct class name.




    Juan T. Llibre, asp.net MVP
    asp.net faq : http://asp.net.do/faq/
    foros de asp.net, en español : http://asp.net.do/foros/
    ======================================
    <> wrote in message news:...
    On Aug 1, 8:40 pm, "Juan T. Llibre" <> wrote:
    > Do you have a line like this, to import the code-behaind class ?
    >
    > <%@ Page Language="C#" AutoEventWireup="false" CodeFile="some.aspx.cs" Inherits="_some" %>
    >
    > Juan T. Llibre, asp.net MVP
    > asp.net faq :http://asp.net.do/faq/
    > foros de asp.net, en español :http://asp.net.do/foros/
    > ======================================
    >
    > <> wrote in messagenews:...
    > > On Aug 1, 7:39 pm, "Cowboy \(Gregory A. Beamer\)"
    > > <> wrote:
    > >> I concur with App_Code, if not in its own assembly. If that is not to your
    > >> liking, make sure you have the proper namespace referenced in your code
    > >> behind/beside file.

    >
    > >> --
    > >> Gregory A. Beamer
    > >> MVP, MCP: +I, SE, SD, DBA

    >
    > >> Subscribe to my bloghttp://gregorybeamer.spaces.live.com/lists/feed.rss

    >
    > >> or just read it:http://gregorybeamer.spaces.live.com/

    >
    > >> ********************************************
    > >> | Think outside the box! |
    > >> ********************************************<> wrote in message

    >
    > >>news:...

    >
    > >> > Hi,

    >
    > >> > I have in my web application project (VS.NET 2008) :
    > >> > - a webform (webform2.aspx, webform2.aspx.cs,
    > >> > webform2.aspx.designer.cs)
    > >> > - a code-file Product.cs.

    >
    > >> > But i can't use the definition of 'Product' nowhere in my page-class-
    > >> > file (webform2.aspx.cs)

    >
    > >> > For example:

    >
    > >> > protected void Page_Load(object sender, EventArgs e)
    > >> > {
    > >> > Product p = new Product();
    > >> > }

    >
    > >> > the compiler doesn't know the definition of Product

    >
    > >> > whereas if I place the definition of Product in the same codefile as
    > >> > the WebForm.cs then it works.

    >
    > >> > How can i make it work just by keeping each class definition in its
    > >> > own codefile?
    > >> > By the way, what happened to the App_Code used in 2005?

    >
    > >> > thank you
    > >> > Chris

    >
    > > hello,

    >
    > > actually I previously put the code in App_Code, but even then it
    > > doesn't work !
    > > Only when I use it inline it works, but not when placed in the code-
    > > behind file ???

    >
    > > So, the following works:
    > > <script runat="server">
    > > void Button1_Click(object sender, EventArgs e)
    > > {
    > > Product c = new Product();
    > > Label1.Text = c.GetMyMessage(TextBox1.Text);
    > > }
    > > </script>

    >
    > > but not in the code-behind file, how come?

    >
    > > why doesn't it work the 'normal' way, I mean with the code-files in
    > > the same directory as the aspx-file (it works like that in WinForms)
    > > Or is there a way?

    >
    > > thank you


    hello,

    yes i do ... in the webApp-directory I have a file
    BindingToDataAccessLayer.aspx starting with
    <%@ Page Language="C#" AutoEventWireup="true"
    CodeBehind="BindingToDataAccessLayer.aspx.cs"
    Inherits="WebForm1" %>

    in BindingToDataAccessLayer.aspx.cs I have:

    using Products; // --> COMPILER ERROR: namespace name could not
    be found
    public partial class WebForm1 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    Product p = new Product(); // --> COMPILER ERROR
    }
    }


    for the rest of my project structure:

    In App_Code i have Product.cs

    namespace Products
    {
    public class Product
    { ...}
    }

    it just doesn't make sense to me
    any suggestions?

    Chris
    Juan T. Llibre, Aug 2, 2008
    #7
  8. Guest

    On Aug 2, 1:22 pm, "Mark Rae [MVP]" <> wrote:
    > "Juan T. Llibre" <> wrote in messagenews:...
    >
    > > VS 2008 follows this type of class naming syntax in code-behind files:

    >
    > > In default.aspx.cs, the code-behind page for Default.aspx...
    > > public partial class _Default : System.Web.UI.Page

    >
    > > Notice the underscore, and notice that the page's class
    > > is named for the page name, with an underscore added.

    >
    > Also, the upper-case "D", C# being case-sensitive...
    >
    > > It looks to me like like renamed an aspx page, but did not change the
    > > class name in the code-behind.

    >
    > Indeed. I've been caught out with that on more than one occasion... :)
    >
    > > The IDE does not automatically change the class name for you if you rename
    > > a file.
    > > If you ask me, I think it should... :)

    >
    > I agree or, at the very least, pop a warning to say that there is now a
    > "mismatch" (for want of a better term) between the class name specified in
    > the page's @Page directive and the actual partial class specified in its
    > associated code-behind file...
    >
    > --
    > Mark Rae
    > ASP.NET MVPhttp://www.markrae.net


    the class has the same name as specified by inherits

    in BindingToDataAccessLayer.aspx I have:

    <%@ Page Language="C#" AutoEventWireup="true"
    CodeBehind="BindingToDataAccessLayer.aspx.cs"
    Inherits="WebForm1" %>

    and in BindingToDataAccessLayer.aspx.cs I have:

    public partial class WebForm1 : System.Web.UI.Page
    { }

    if the 2 didn't match, suppose I define WebForm2 in the code behind
    file but leave Inherits="WebForm1", I'd get an error in the browser
    anyway when starting up
    --> 'WebForm1' is not allowed here because it does not extend
    class 'System.Web.UI.Page'.

    I'm running out of options :-((

    any suggestions?

    Chris
    , Aug 2, 2008
    #8
  9. What happens if you fully qualify the class name :

    Inherits="YourNamespace.WebForm1"

    ?

    i.e., if your namespace is named WebApp :

    Inherits="WebApp.WebForm1"

    This should do it IF you are using a namespace in your codebehind...which you should, anyway :

    namespace WebApp
    {
    public partial class WebForm1 : System.Web.UI.Page






    Juan T. Llibre, asp.net MVP
    asp.net faq : http://asp.net.do/faq/
    foros de asp.net, en español : http://asp.net.do/foros/
    ======================================

    <> wrote in message news:...
    > On Aug 2, 1:22 pm, "Mark Rae [MVP]" <> wrote:
    >> "Juan T. Llibre" <> wrote in messagenews:...
    >>
    >> > VS 2008 follows this type of class naming syntax in code-behind files:

    >>
    >> > In default.aspx.cs, the code-behind page for Default.aspx...
    >> > public partial class _Default : System.Web.UI.Page

    >>
    >> > Notice the underscore, and notice that the page's class
    >> > is named for the page name, with an underscore added.

    >>
    >> Also, the upper-case "D", C# being case-sensitive...
    >>
    >> > It looks to me like like renamed an aspx page, but did not change the
    >> > class name in the code-behind.

    >>
    >> Indeed. I've been caught out with that on more than one occasion... :)
    >>
    >> > The IDE does not automatically change the class name for you if you rename
    >> > a file.
    >> > If you ask me, I think it should... :)

    >>
    >> I agree or, at the very least, pop a warning to say that there is now a
    >> "mismatch" (for want of a better term) between the class name specified in
    >> the page's @Page directive and the actual partial class specified in its
    >> associated code-behind file...
    >>
    >> --
    >> Mark Rae
    >> ASP.NET MVP

    http://www.markrae.net
    >
    > the class has the same name as specified by inherits
    >
    > in BindingToDataAccessLayer.aspx I have:
    >
    > <%@ Page Language="C#" AutoEventWireup="true"
    > CodeBehind="BindingToDataAccessLayer.aspx.cs"
    > Inherits="WebForm1" %>
    >
    > and in BindingToDataAccessLayer.aspx.cs I have:
    >
    > public partial class WebForm1 : System.Web.UI.Page
    > { }
    >
    > if the 2 didn't match, suppose I define WebForm2 in the code behind
    > file but leave Inherits="WebForm1", I'd get an error in the browser
    > anyway when starting up
    > --> 'WebForm1' is not allowed here because it does not extend
    > class 'System.Web.UI.Page'.
    >
    > I'm running out of options :-((
    >
    > any suggestions?
    >
    > Chris
    Juan T. Llibre, Aug 2, 2008
    #9
  10. daveh551 Guest

    On Aug 2, 7:14 am, wrote:
    > On Aug 2, 1:22 pm, "Mark Rae [MVP]" <> wrote:
    >
    >
    >
    > > "Juan T. Llibre" <> wrote in messagenews:...

    >
    > > > VS 2008 follows this type of class naming syntax in code-behind files:

    >
    > > > In default.aspx.cs, the code-behind page for Default.aspx...
    > > > public partial class _Default : System.Web.UI.Page

    >
    > > > Notice the underscore, and notice that the page's class
    > > > is named for the page name, with an underscore added.

    >
    > > Also, the upper-case "D", C# being case-sensitive...

    >
    > > > It looks to me like like renamed an aspx page, but did not change the
    > > > class name in the code-behind.

    >
    > > Indeed. I've been caught out with that on more than one occasion... :)

    >
    > > > The IDE does not automatically change the class name for you if you rename
    > > > a file.
    > > > If you ask me, I think it should... :)

    >
    > > I agree or, at the very least, pop a warning to say that there is now a
    > > "mismatch" (for want of a better term) between the class name specified in
    > > the page's @Page directive and the actual partial class specified in its
    > > associated code-behind file...

    >
    > > --
    > > Mark Rae
    > > ASP.NET MVPhttp://www.markrae.net

    >
    > the class has the same name as specified by inherits
    >
    > in BindingToDataAccessLayer.aspx I have:
    >
    > <%@ Page Language="C#" AutoEventWireup="true"
    > CodeBehind="BindingToDataAccessLayer.aspx.cs"
    > Inherits="WebForm1" %>
    >
    > and in BindingToDataAccessLayer.aspx.cs I have:
    >
    > public partial class WebForm1 : System.Web.UI.Page
    > { }
    >
    > if the 2 didn't match, suppose I define WebForm2 in the code behind
    > file but leave Inherits="WebForm1", I'd get an error in the browser
    > anyway when starting up
    > --> 'WebForm1' is not allowed here because it does not extend
    > class 'System.Web.UI.Page'.
    >
    > I'm running out of options :-((
    >
    > any suggestions?
    >
    > Chris


    Okay, this may be a totally useless suggestion, especially since
    you're using in VS 2008, and my experience is with VS 2005, but...
    Are you sure the product class is being compiled?
    When I did a WebApplication in VS2005, and put classes in App_Code, I
    had a problem where I simply could not see them in the rest of the
    program. Even if I moved them to the root, I still couldn't see them.
    I finally introduced deliberate syntax errors into the class, and then
    did a Build, and the errors were not caught, thus convincing myself
    that the files were not being included in the build.

    I think the problem turned out to be (again, this may not apply to VS
    2008) if you click a .cs file in the Solution explorer and look at the
    Properties page for it, the first line there is "Build Action". For
    the files I created in App_Code, it was set to "Content" instead of
    "Compile", and it remained that way even if I moved the file.

    Hope I didn't waste your time, but it might be worth looking at.
    daveh551, Aug 2, 2008
    #10
  11. Guest

    On Aug 2, 1:22 pm, "Mark Rae [MVP]" <> wrote:
    > "Juan T. Llibre" <> wrote in messagenews:...
    >
    > > VS 2008 follows this type of class naming syntax in code-behind files:

    >
    > > In default.aspx.cs, the code-behind page for Default.aspx...
    > > public partial class _Default : System.Web.UI.Page

    >
    > > Notice the underscore, and notice that the page's class
    > > is named for the page name, with an underscore added.

    >
    > Also, the upper-case "D", C# being case-sensitive...
    >
    > > It looks to me like like renamed an aspx page, but did not change the
    > > class name in the code-behind.

    >
    > Indeed. I've been caught out with that on more than one occasion... :)
    >
    > > The IDE does not automatically change the class name for you if you rename
    > > a file.
    > > If you ask me, I think it should... :)

    >
    > I agree or, at the very least, pop a warning to say that there is now a
    > "mismatch" (for want of a better term) between the class name specified in
    > the page's @Page directive and the actual partial class specified in its
    > associated code-behind file...
    >
    > --
    > Mark Rae
    > ASP.NET MVPhttp://www.markrae.net


    no difference :-(

    There was no namespace so it wasn't necessary but I've defined the
    class in a namespace now

    namespace MyNs
    {
    public partial class WebForm1 : System.Web.UI.Page
    {
    }
    }

    Inherits="MyNs.WebForm1"

    but still nothing :-(

    anyway ... as the best design still is a separate controlLib for each
    tier-component I think I'll leave it at that. unless you have another
    option ?

    i was just curious about this App_Code thing but as you can imagine,
    I'm not impressed at all by that functionality..
    my experience with it? a waste of time.
    what is supposed the benefit of it?
    I can only use my product-class when using it in inline script in the
    aspx-file, so why come up then with the idea of code-behind in the
    first place?

    Chris
    , Aug 2, 2008
    #11
  12. re:
    !> i was just curious about this App_Code thing but as you can imagine,
    !> I'm not impressed at all by that functionality..

    Quite frankly, I'm not too impressed with it, either, primarily from a security viewpoint.
    Uploading raw code to a server isn't a very secure approach to programming.

    Also, there's no problems like the one you're encountering.

    re:
    !> I can only use my product-class when using it in inline script in the aspx-file,
    !> so why come up then with the idea of code-behind in the first place?

    I've evolved a personal preference which skirts the issues :

    I compile assemblies with my helper classes ( my DAL layer ) from the command-line,
    and place the resulting assembly in the /bin directory.

    It's quite easy then to import my namespace with

    <%@ Import Namespace="DataObjects" %>

    ....and instantiating the SQLDATA class is uncomplicated with :

    Dim RS as New SQLDATA()

    It works 100% of the time with no fuss.

    I'd recommend ( depending on your time availability )
    you dump what you're doing now...and create your own Data Access Layer (DAL).

    Here's two pages with sample code which will help you get that done quickly :

    http://msdn.microsoft.com/en-us/library/aa581778.aspx

    http://weblogs.asp.net/scottgu/archive/2006/01/15/435498.aspx




    Juan T. Llibre, asp.net MVP
    asp.net faq : http://asp.net.do/faq/
    foros de asp.net, en español : http://asp.net.do/foros/
    ======================================
    <> wrote in message news:...
    > On Aug 2, 1:22 pm, "Mark Rae [MVP]" <> wrote:
    >> "Juan T. Llibre" <> wrote in messagenews:...
    >>
    >> > VS 2008 follows this type of class naming syntax in code-behind files:

    >>
    >> > In default.aspx.cs, the code-behind page for Default.aspx...
    >> > public partial class _Default : System.Web.UI.Page

    >>
    >> > Notice the underscore, and notice that the page's class
    >> > is named for the page name, with an underscore added.

    >>
    >> Also, the upper-case "D", C# being case-sensitive...
    >>
    >> > It looks to me like like renamed an aspx page, but did not change the
    >> > class name in the code-behind.

    >>
    >> Indeed. I've been caught out with that on more than one occasion... :)
    >>
    >> > The IDE does not automatically change the class name for you if you rename
    >> > a file.
    >> > If you ask me, I think it should... :)

    >>
    >> I agree or, at the very least, pop a warning to say that there is now a
    >> "mismatch" (for want of a better term) between the class name specified in
    >> the page's @Page directive and the actual partial class specified in its
    >> associated code-behind file...
    >>
    >> --
    >> Mark Rae
    >> ASP.NET MVPhttp://www.markrae.net

    >
    > no difference :-(
    >
    > There was no namespace so it wasn't necessary but I've defined the
    > class in a namespace now
    >
    > namespace MyNs
    > {
    > public partial class WebForm1 : System.Web.UI.Page
    > {
    > }
    > }
    >
    > Inherits="MyNs.WebForm1"
    >
    > but still nothing :-(
    >
    > anyway ... as the best design still is a separate controlLib for each
    > tier-component I think I'll leave it at that. unless you have another
    > option ?
    >
    > i was just curious about this App_Code thing but as you can imagine,
    > I'm not impressed at all by that functionality..
    > my experience with it? a waste of time.
    > what is supposed the benefit of it?
    > I can only use my product-class when using it in inline script in the
    > aspx-file, so why come up then with the idea of code-behind in the
    > first place?
    >
    > Chris
    Juan T. Llibre, Aug 2, 2008
    #12
  13. Guest

    On Aug 2, 4:55 pm, "Juan T. Llibre" <> wrote:
    > re:
    > !> i was just curious about this App_Code thing but as you can imagine,
    > !> I'm not impressed at all by that functionality..
    >
    > Quite frankly, I'm not too impressed with it, either, primarily from a security viewpoint.
    > Uploading raw code to a server isn't a very secure approach to programming.
    >
    > Also, there's no problems like the one you're encountering.
    >
    > re:
    > !> I can only use my product-class when using it in inline script in the aspx-file,
    > !> so why come up then with the idea of code-behind in the first place?
    >
    > I've evolved a personal preference which skirts the issues :
    >
    > I compile assemblies with my helper classes ( my DAL layer ) from the command-line,
    > and place the resulting assembly in the /bin directory.
    >
    > It's quite easy then to import my namespace with
    >
    > <%@ Import Namespace="DataObjects" %>
    >
    > ...and instantiating the SQLDATA class is uncomplicated with :
    >
    > Dim RS as New SQLDATA()
    >
    > It works 100% of the time with no fuss.
    >
    > I'd recommend ( depending on your time availability )
    > you dump what you're doing now...and create your own Data Access Layer (DAL).
    >
    > Here's two pages with sample code which will help you get that done quickly :
    >
    > http://msdn.microsoft.com/en-us/library/aa581778.aspx
    >
    > http://weblogs.asp.net/scottgu/archive/2006/01/15/435498.aspx
    >
    > Juan T. Llibre, asp.net MVP
    > asp.net faq :http://asp.net.do/faq/
    > foros de asp.net, en español :http://asp.net.do/foros/
    > ======================================
    >
    > <> wrote in messagenews:...
    > > On Aug 2, 1:22 pm, "Mark Rae [MVP]" <> wrote:
    > >> "Juan T. Llibre" <> wrote in messagenews:...

    >
    > >> > VS 2008 follows this type of class naming syntax in code-behind files:

    >
    > >> > In default.aspx.cs, the code-behind page for Default.aspx...
    > >> > public partial class _Default : System.Web.UI.Page

    >
    > >> > Notice the underscore, and notice that the page's class
    > >> > is named for the page name, with an underscore added.

    >
    > >> Also, the upper-case "D", C# being case-sensitive...

    >
    > >> > It looks to me like like renamed an aspx page, but did not change the
    > >> > class name in the code-behind.

    >
    > >> Indeed. I've been caught out with that on more than one occasion... :)

    >
    > >> > The IDE does not automatically change the class name for you if you rename
    > >> > a file.
    > >> > If you ask me, I think it should... :)

    >
    > >> I agree or, at the very least, pop a warning to say that there is now a
    > >> "mismatch" (for want of a better term) between the class name specified in
    > >> the page's @Page directive and the actual partial class specified in its
    > >> associated code-behind file...

    >
    > >> --
    > >> Mark Rae
    > >> ASP.NET MVPhttp://www.markrae.net

    >
    > > no difference :-(

    >
    > > There was no namespace so it wasn't necessary but I've defined the
    > > class in a namespace now

    >
    > > namespace MyNs
    > > {
    > > public partial class WebForm1 : System.Web.UI.Page
    > > {
    > > }
    > > }

    >
    > > Inherits="MyNs.WebForm1"

    >
    > > but still nothing :-(

    >
    > > anyway ... as the best design still is a separate controlLib for each
    > > tier-component I think I'll leave it at that. unless you have another
    > > option ?

    >
    > > i was just curious about this App_Code thing but as you can imagine,
    > > I'm not impressed at all by that functionality..
    > > my experience with it? a waste of time.
    > > what is supposed the benefit of it?
    > > I can only use my product-class when using it in inline script in the
    > > aspx-file, so why come up then with the idea of code-behind in the
    > > first place?

    >
    > > Chris


    thank you!

    Chris
    , Aug 2, 2008
    #13
  14. "Juan T. Llibre" <> wrote in message
    news:O%238CC$...
    > re:
    > !> i was just curious about this App_Code thing but as you can imagine,
    > !> I'm not impressed at all by that functionality..
    >
    > Quite frankly, I'm not too impressed with it, either, primarily from a

    security viewpoint.
    > Uploading raw code to a server isn't a very secure approach to

    programming.
    >
    > Also, there's no problems like the one you're encountering.
    >
    > re:
    > !> I can only use my product-class when using it in inline script in the

    aspx-file,
    > !> so why come up then with the idea of code-behind in the first place?
    >
    > I've evolved a personal preference which skirts the issues :
    >
    > I compile assemblies with my helper classes ( my DAL layer ) from the

    command-line,
    > and place the resulting assembly in the /bin directory.
    >
    > It's quite easy then to import my namespace with
    >
    > <%@ Import Namespace="DataObjects" %>
    >
    > ...and instantiating the SQLDATA class is uncomplicated with :
    >
    > Dim RS as New SQLDATA()
    >
    > It works 100% of the time with no fuss.
    >
    > I'd recommend ( depending on your time availability )
    > you dump what you're doing now...and create your own Data Access Layer

    (DAL).
    >
    > Here's two pages with sample code which will help you get that done

    quickly :
    >
    > http://msdn.microsoft.com/en-us/library/aa581778.aspx
    >
    > http://weblogs.asp.net/scottgu/archive/2006/01/15/435498.aspx
    >
    >


    Can't say I've ever seen these problems myself. App_Code has always worked
    IMO experience and thats across quite a number of clients. Unless you are
    being really fussy with strong names etc being App_Code is no less secure
    than the bin directory. I don't put any of my code there myself but
    customers use it. Its easy and 'fudgeable' (there is no need to build dlls
    to make a minor tweak).

    So far I have found the code that starts off in App_Code migrates to the bin
    once it has been established.

    --
    Anthony Jones - MVP ASP/ASP.NET
    Anthony Jones, Aug 4, 2008
    #14
  15. re:
    !> App_Code is no less secure than the bin directory

    I'll take a strong exception to that...

    re:
    !> I don't put any of my code there myself

    Why ?

    re:
    !> So far I have found the code that starts off in App_Code
    !> migrates to the bin once it has been established.

    Sure, it does, but your source code also stays in App_Code
    where any two-bit programmer in your organization can see it.

    I prefer to not upload source code...and obfuscate my assemblies.
    Ymmv...




    Juan T. Llibre, asp.net MVP
    asp.net faq : http://asp.net.do/faq/
    foros de asp.net, en español : http://asp.net.do/foros/
    ======================================
    "Anthony Jones" <> wrote in message news:...
    > "Juan T. Llibre" <> wrote in message
    > news:O%238CC$...
    >> re:
    >> !> i was just curious about this App_Code thing but as you can imagine,
    >> !> I'm not impressed at all by that functionality..
    >>
    >> Quite frankly, I'm not too impressed with it, either, primarily from a

    > security viewpoint.
    >> Uploading raw code to a server isn't a very secure approach to

    > programming.
    >>
    >> Also, there's no problems like the one you're encountering.
    >>
    >> re:
    >> !> I can only use my product-class when using it in inline script in the

    > aspx-file,
    >> !> so why come up then with the idea of code-behind in the first place?
    >>
    >> I've evolved a personal preference which skirts the issues :
    >>
    >> I compile assemblies with my helper classes ( my DAL layer ) from the

    > command-line,
    >> and place the resulting assembly in the /bin directory.
    >>
    >> It's quite easy then to import my namespace with
    >>
    >> <%@ Import Namespace="DataObjects" %>
    >>
    >> ...and instantiating the SQLDATA class is uncomplicated with :
    >>
    >> Dim RS as New SQLDATA()
    >>
    >> It works 100% of the time with no fuss.
    >>
    >> I'd recommend ( depending on your time availability )
    >> you dump what you're doing now...and create your own Data Access Layer

    > (DAL).
    >>
    >> Here's two pages with sample code which will help you get that done

    > quickly :
    >>
    >> http://msdn.microsoft.com/en-us/library/aa581778.aspx
    >>
    >> http://weblogs.asp.net/scottgu/archive/2006/01/15/435498.aspx
    >>
    >>

    >
    > Can't say I've ever seen these problems myself. App_Code has always worked
    > IMO experience and thats across quite a number of clients. Unless you are
    > being really fussy with strong names etc being App_Code is no less secure
    > than the bin directory. I don't put any of my code there myself but
    > customers use it. Its easy and 'fudgeable' (there is no need to build dlls
    > to make a minor tweak).
    >
    > So far I have found the code that starts off in App_Code migrates to the bin
    > once it has been established.
    >
    > --
    > Anthony Jones - MVP ASP/ASP.NET
    >
    >
    Juan T. Llibre, Aug 5, 2008
    #15
  16. "Juan T. Llibre" <> wrote in message
    news:...
    > re:
    > !> App_Code is no less secure than the bin directory
    >
    > I'll take a strong exception to that...


    Why? Do you think it isn't true?

    >
    > re:
    > !> I don't put any of my code there myself
    >
    > Why ?


    I just don't ;)

    >
    > re:
    > !> So far I have found the code that starts off in App_Code
    > !> migrates to the bin once it has been established.
    >
    > Sure, it does, but your source code also stays in App_Code
    > where any two-bit programmer in your organization can see it.
    >


    We don't employ two-bit programmers. Besides a two-bit programmer can still
    manage to compile a dll and drop it in the bin.



    --
    Anthony Jones - MVP ASP/ASP.NET
    Anthony Jones, Aug 6, 2008
    #16
  17. re:
    !>>> App_Code is no less secure than the bin directory
    !>> I'll take a strong exception to that...
    !> Why? Do you think it isn't true?

    Anthony, you're rationalizing insecure procedures.

    Name me *one* programmer who prefers to place raw source code
    a server...and I'll show you a severely complacent person who's likely
    to get the jolt of his life when his precious code is lifted.

    re:
    !>>> I don't put any of my code there myself
    !>> Why ?
    !> I just don't ;)

    So, you *do* agree with me.

    re:
    !> Besides a two-bit programmer can still manage to compile a dll and drop it in the bin

    Where the code will be a lot safer than if uploaded raw.



    Juan T. Llibre, asp.net MVP
    asp.net faq : http://asp.net.do/faq/
    foros de asp.net, en español : http://asp.net.do/foros/
    ======================================
    "Anthony Jones" <> wrote in message news:uxN18qA%...
    > "Juan T. Llibre" <> wrote in message
    > news:...
    >> re:
    >> !> App_Code is no less secure than the bin directory
    >>
    >> I'll take a strong exception to that...

    >
    > Why? Do you think it isn't true?
    >
    >>
    >> re:
    >> !> I don't put any of my code there myself
    >>
    >> Why ?

    >
    > I just don't ;)
    >
    >>
    >> re:
    >> !> So far I have found the code that starts off in App_Code
    >> !> migrates to the bin once it has been established.
    >>
    >> Sure, it does, but your source code also stays in App_Code
    >> where any two-bit programmer in your organization can see it.



    > We don't employ two-bit programmers. Besides a two-bit programmer can still
    > manage to compile a dll and drop it in the bin.




    > --
    > Anthony Jones - MVP ASP/ASP.NET
    >
    >
    Juan T. Llibre, Aug 6, 2008
    #17
  18. "Juan T. Llibre" <> wrote in message
    news:%237p$HOB%...
    > re:
    > !>>> App_Code is no less secure than the bin directory
    > !>> I'll take a strong exception to that...
    > !> Why? Do you think it isn't true?
    >
    > Anthony, you're rationalizing insecure procedures.
    >
    > Name me *one* programmer who prefers to place raw source code
    > a server...and I'll show you a severely complacent person who's likely
    > to get the jolt of his life when his precious code is lifted.
    >
    > re:
    > !>>> I don't put any of my code there myself
    > !>> Why ?
    > !> I just don't ;)
    >
    > So, you *do* agree with me.
    >
    > re:
    > !> Besides a two-bit programmer can still manage to compile a dll and drop

    it in the bin
    >
    > Where the code will be a lot safer than if uploaded raw.
    >


    I think we're talking at cross purposes. I hadn't considered that by
    security you were refering to protecting your source code as an asset. I
    was thinking of security in terms of a black hat doing something malicious
    to site. If such a person has access to the App_Code they have access to
    the bin and in fact the whole site.

    Still there are times when source isn't particularly valueable as an asset
    and its accessibility to customers (by customer I mean duely authorised
    personnel who are employed by the organisation that commissioned the work)
    has value.



    --
    Anthony Jones - MVP ASP/ASP.NET
    Anthony Jones, Aug 8, 2008
    #18
  19. re:
    !> I hadn't considered that by security you were
    !> referring to protecting your source code as an asset.

    Yes, I was.

    re:
    !> Still there are times when source isn't particularly valueable as an asset

    Yes, there are such times.

    For application developers who deploy their apps to their client's servers,
    though, ( and there's tons of those ), it's far better for them not to deploy
    raw code to the App_Code directory.

    Otherwise, they're just giving their knowledge away to cut-and-paste ops.






    Juan T. Llibre, asp.net MVP
    asp.net faq : http://asp.net.do/faq/
    foros de asp.net, en español : http://asp.net.do/foros/
    ======================================
    "Anthony Jones" <> wrote in message news:%23t832MV%...
    > "Juan T. Llibre" <> wrote in message
    > news:%237p$HOB%...
    >> re:
    >> !>>> App_Code is no less secure than the bin directory
    >> !>> I'll take a strong exception to that...
    >> !> Why? Do you think it isn't true?
    >>
    >> Anthony, you're rationalizing insecure procedures.
    >>
    >> Name me *one* programmer who prefers to place raw source code
    >> a server...and I'll show you a severely complacent person who's likely
    >> to get the jolt of his life when his precious code is lifted.
    >>
    >> re:
    >> !>>> I don't put any of my code there myself
    >> !>> Why ?
    >> !> I just don't ;)
    >>
    >> So, you *do* agree with me.
    >>
    >> re:
    >> !> Besides a two-bit programmer can still manage to compile a dll and drop

    > it in the bin
    >>
    >> Where the code will be a lot safer than if uploaded raw.



    > I think we're talking at cross purposes. I hadn't considered that by
    > security you were refering to protecting your source code as an asset. I
    > was thinking of security in terms of a black hat doing something malicious
    > to site. If such a person has access to the App_Code they have access to
    > the bin and in fact the whole site.
    >
    > Still there are times when source isn't particularly valueable as an asset
    > and its accessibility to customers (by customer I mean duely authorised
    > personnel who are employed by the organisation that commissioned the work)
    > has value.
    >
    >
    >
    > --
    > Anthony Jones - MVP ASP/ASP.NET
    >
    >
    Juan T. Llibre, Aug 8, 2008
    #19
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. EvgueniB
    Replies:
    1
    Views:
    624
    Anthony Borla
    Dec 15, 2003
  2. Rahmi Acar
    Replies:
    5
    Views:
    425
    Karl Heinz Buchegger
    Jul 28, 2003
  3. Frank Fredstone
    Replies:
    1
    Views:
    437
    Jean-Francois Briere
    Jun 27, 2006
  4. Patrick Kowalzick
    Replies:
    5
    Views:
    470
    Patrick Kowalzick
    Mar 14, 2006
  5. Mc Lauren Series
    Replies:
    11
    Views:
    940
    BootNic
    Feb 12, 2010
Loading...

Share This Page