Re: How to call a Sub function from .ASPX file ?
- From: "Kevin Spencer" <kevin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 10 Aug 2005 14:11:25 -0400
You're not thinking fourth-dimensionally! (- Back to the Future)
Actually, you're not thinking Object-Orientationally.
ASP.Net is object-oriented, and you'd better get acquainted with it, or
you'll be visiting here almost daily, and writing crappy code until you do.
Let me elaborate, if you will:
Files are source code. Your application doesn't have files. It has classes.
A file defines a class, but IS not a class. A class is a data type, and
exists in the context of a running application. So, when you're talking
about how your application works, the first thing you need to do is think
about classes, not files. A file can contain one or MORE class definitions,
and you need to get acquainted with classes to be successful with .Net.
Classes are very important in .Net programming; Objects are made from
classes, and classes provide encapsulation. Object-oriented programming can
get pretty darned complex, and encapsulation can save you a lot of grief, by
hiding those things which need hiding from those things that don't need
them.
If you have a file with a bunch of Subs and Functions in it, you need to
create a class with Subs and Functions in it. These Subs and Functions can
be Shared (meaning that they are singleton objects that don't require a
class instance to operate), or they can be Instance (meaning that an
instance of the class containing them must be created in order to use them).
The advantage to Shared data and process is that it doesn't require a class
instance, and is, in essence "global," available to the entire application.
This is also the disadvantage of Shared data and process. Anything can get
to it, and change it, and in a multi-threaded app (unlike VB 6, .net is
multi-threaded), this can cause all sorts of problems. Unless you're
familiar with the issues, I would stick with classes that require
instantiation. Instantiation is the process of creating a copy (instance) of
a class that is limited in its scope (availability), and is thread-safe.
Once you create an instance of a class, you can access any Public or Friend
(Friend is more protected than Public, but you shouldn't run into issues
right away) members from any other class that references the instance.
>From your question, and the code you posted, I can see that you require a
good bit more education and practice. I would recommend the .Net SDK, a free
download from:
http://www.microsoft.com/downloads/details.aspx?FamilyId=9B3A2CA6-3647-4070-9F41-A333C6B9181D&displaylang=en
It is extremely important to know the difference between ASP and ASP.Net,
between VBScript or VB 6, and VB.Net. The first are procedural,
single-threaded, and easy to use for small applications. .Net is
object-oriented, multi-threaded, and easy to use once you spend a great deal
of time studying it, but incredibly hard to use if you don't.
--
HTH,
Kevin Spencer
Microsoft MVP
..Net Developer
Everybody picks their nose,
But some people are better at hiding it.
"bienwell" <bienwell@xxxxxxxxxxx> wrote in message
news:O7QlcGdnFHA.1480@xxxxxxxxxxxxxxxxxxxxxxx
> Hi,
>
> I have a question about file included in ASP.NET. I have a file that
> includes all the Sub functions (e.g FileFunct.vb). One of the functions
> in this file is :
>
> Sub TestFunct(ByVal strInput As String)
> return (strInput & " test")
> End Sub
>
>
> I'd like to call this function in FileFunct.vb from another .ASPX file
> like this :
>
> <%@ import Namespace="System" %>
> <%@ import Namespace="System.Data" %>
>
> <html>
> <head>
> <title>Test page</title>
> </head>
>
> <body>
> <script runat="server" language="VB" scr="FileFunct.vb" >
>
> Sub Page_Load(s As Object, e As EventArgs)
> Dim result=TestFunct("This is a string")
> response.write("<BR>result ==> " & result)
> End Sub
> </script>
> </body>
> </html>
>
> I've got this error:
>
> Server Error in '/' Application.
> ----------------------------------------------------------------------------
> ----
>
> Compilation Error
> Description: An error occurred during the compilation of a resource
> required
> to service this request. Please review the following specific error
> details
> and modify your source code appropriately.
>
> Compiler Error Message: BC30451: Name 'TestFunct' is not declared.
>
> Source Error:
>
>
> Line 18: Sub Page_Load(s As Object, e As EventArgs)
> Line 19:
> Line 20: Dim result=TestFunct("This is a string")
> Line 21: response.write("<BR>Result ==> " & Result)
> Line 22:
>
>
> I have a single .ASPX file and I don't use Visual studio. NET in this
> case.
> Can I do that ?
>
> Thanks in advance.
>
>
.
- Follow-Ups:
- Re: How to call a Sub function from .ASPX file ?
- From: tom pester
- Re: How to call a Sub function from .ASPX file ?
- From: bienwell
- Re: How to call a Sub function from .ASPX file ?
- References:
- How to call a Sub function from .ASPX file ?
- From: bienwell
- How to call a Sub function from .ASPX file ?
- Prev by Date: RE: Confirming leaving the page.....
- Next by Date: Re: How to design a cryptographic "check" of a page's integrity using .NET?
- Previous by thread: How to call a Sub function from .ASPX file ?
- Next by thread: Re: How to call a Sub function from .ASPX file ?
- Index(es):
Relevant Pages
|