From: Miro on
I am really having trouble with this. I am trying to call a function from
my .vb file within my .aspx file.
My current results is that nothing happens.
Wondering if someone can help me out.

<form id="form1" runat="server">
<div>
<br />
<asp:Label ID="Label1" runat="server" Text="<%= helloworld()
%>"></asp:Label>
<br />
</div>
</form>

and from my .vb file:


Partial Class _Default
Inherits System.Web.UI.Page

Function helloworld() As String
Return "From.vb"
End Function
End Class

How do I get the label1 to get the text from the helloworld function on
load?

I know I can use "on_load event", but I want to try to call a function like
this just like as if it was databound.

Thanks,

From: Alexey Smirnov on
On Apr 18, 7:20 am, "Miro" <m...(a)beero.com> wrote:
> I am really having trouble with this.  I am trying to call a function from
> my .vb file within my .aspx file.
> My current results is that nothing happens.
> Wondering if someone can help me out.
>
>     <form id="form1" runat="server">
>     <div>
>        <br />
>     <asp:Label ID="Label1" runat="server" Text="<%= helloworld()
> %>"></asp:Label>
>     <br />
>         </div>
>     </form>
>
> and from my .vb file:
>
> Partial Class _Default
>     Inherits System.Web.UI.Page
>
>     Function helloworld() As String
>         Return "From.vb"
>     End Function
> End Class
>
> How do I get the label1 to get the text from the helloworld function on
> load?
>
> I know I can use "on_load event", but I want to try to call a function like
> this just like as if it was databound.
>
> Thanks,

The function must be marked as protected or public in order to be
accessible from the aspx page.

Protected Function helloworld() As String

Read more about Access Specifiers
http://msdn.microsoft.com/en-us/library/ms973875.aspx

Hope this helps
From: Mark Rae [MVP] on
"Miro" <miro(a)beero.com> wrote in message
news:O#bdZbr3KHA.4332(a)TK2MSFTNGP02.phx.gbl...

> I know I can use "on_load event", but I want to try to call a function
> like this just like as if it was databound.

Firstly, I think you're making things harder than they need to be...

However, consider this:

Label1 <asp:Label ID="Label1" runat="server"><%=
helloworld()%></asp:Label><br />
Label2 <asp:Label ID="Label2" runat="server" Text="<%# helloworld()%>" /><br
/>
Label3 <asp:Label ID="Label3" runat="server" Text="<%= helloworld()%>" />

Label1 will always work.
Label2 uses databinding syntax, so will work only if you call DataBind() in
before the HTML has been streamed to the client, e.g. in Page_Load
Label3, as it stands, will never work.


--
Mark Rae
ASP.NET MVP
http://www.markrae.net

From: Gregory A. Beamer on


"Miro" <miro(a)beero.com> wrote in message
news:O#bdZbr3KHA.4332(a)TK2MSFTNGP02.phx.gbl...
> I am really having trouble with this. I am trying to call a function from
> my .vb file within my .aspx file.
> My current results is that nothing happens.
> Wondering if someone can help me out.
>
> <form id="form1" runat="server">
> <div>
> <br />
> <asp:Label ID="Label1" runat="server" Text="<%= helloworld()
> %>"></asp:Label>
> <br />
> </div>
> </form>
>
> and from my .vb file:
>
>
> Partial Class _Default
> Inherits System.Web.UI.Page
>
> Function helloworld() As String
> Return "From.vb"
> End Function
> End Class
>
> How do I get the label1 to get the text from the helloworld function on
> load?
>
> I know I can use "on_load event", but I want to try to call a function
> like this just like as if it was databound.

There are two ways to bind in .NET. One is declarative, in the tags, as you
are attempting. Note that this can tightly couple your logic very easy.
Follow Alexy's post to help. Mark has also suggested a simpler syntax,
although I don't believe it gets around the issue Alexey mentioned.

The second is to bind in events to controls. It is a much nicer syntax, esp.
with ASP.NET controls. I know you don't want to go this direction, for some
reason, but it is really a better way to handle the issue in almost every
instance.


--
Peace and Grace,
Greg

Twitter: @gbworld
Blog: http://gregorybeamer.spaces.live.com

************************************************
| Think outside the box! |
************************************************

From: Mark Rae [MVP] on
"Gregory A. Beamer" <NoSpamMgbworld(a)comcast.netNoSpamM> wrote in message
news:E38E199E-FA4A-464C-A3B1-7BA9E18D322C(a)microsoft.com...

> Mark has also suggested a simpler syntax, although I don't believe it gets
> around the issue Alexey mentioned.

It doesn't, but that's the artificial restriction that the OP has imposed...


> The second is to bind in events to controls. It is a much nicer syntax,
> esp. with ASP.NET controls. I know you don't want to go this direction,
> for some reason, but it is really a better way to handle the issue in
> almost every instance.

Indeed. As I mentioned, the OP is making things unnecessarily difficult and
complicated...


--
Mark Rae
ASP.NET MVP
http://www.markrae.net