Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASCX - Function Not Being Called

Reply
Thread Tools

ASCX - Function Not Being Called

 
 
George Durzi
Guest
Posts: n/a
 
      06-26-2003
I created a simple user control which contains a hyperlink to link the user
to a topic in a compiled help file. I named all my help topics to have the
same name as the aspx they are for.

So in the user control help.ascx's html, I have this:
<a href='<%# GenerateHelpLink()%>' class="mischrefcontent2" id="hrfHelp"
runat="server" target="_blank">Help</a>

In the codebehind help.ascx.cs, I have this:
#region GenerateHelpLink
protected void GenerateHelpLink()
{
StringBuilder sb = new StringBuilder();
sb.Append("ms-its:");

sb.Append(ConfigurationSettings.AppSettings["ApplicationURL"].ToString());
sb.Append(ConfigurationSettings.AppSettings["HelpFile"].ToString());
string[] arScript =
Request.ServerVariables["SCRIPT_NAME"].ToString().Split("/".ToCharArray());
string sScript = arScript[arScript.GetUpperBound(0)].ToString();
sb.Append(sScript.Substring(0, sScript.LastIndexOf(".")));
sb.Append(".htm");

// you can ignore these details - this function simply returns a help
URL

return sb.ToString();
}
#endregion

So if I'm at cs_completed.aspx, the above function will return:
ms-its:http://gdurzi/framework/help/MyFelpF..._completed.htm

In cs_completed.aspx, I do this:
<%@ Register TagPrefix="framework" TagName="help" Src="ascx\help.ascx" %>
and
<framework:help id="_help" runat="server"></framework:help>

The text Help (what's inside the <a></a>) is displayed, but the hyperlink
doesn't work. Upon debugging, I realized the function GenerateHelpLink is
never being called ...

I want to accomplish this without having to write code into every page to
call this function. I just wanted to plop the user control in there and let
it do it's work.. Any idea?


 
Reply With Quote
 
 
 
 
Marina
Guest
Posts: n/a
 
      06-26-2003
Instead of using an <a> tag, I would use a Hyperlink control.

Then in page_load do something like:

Hyperlink1.NavigationURL = GenerateHelp();

"George Durzi" <gdurzi@nospam_hotmail.com> wrote in message
news:%...
> I created a simple user control which contains a hyperlink to link the

user
> to a topic in a compiled help file. I named all my help topics to have the
> same name as the aspx they are for.
>
> So in the user control help.ascx's html, I have this:
> <a href='<%# GenerateHelpLink()%>' class="mischrefcontent2" id="hrfHelp"
> runat="server" target="_blank">Help</a>
>
> In the codebehind help.ascx.cs, I have this:
> #region GenerateHelpLink
> protected void GenerateHelpLink()
> {
> StringBuilder sb = new StringBuilder();
> sb.Append("ms-its:");
>
> sb.Append(ConfigurationSettings.AppSettings["ApplicationURL"].ToString());
> sb.Append(ConfigurationSettings.AppSettings["HelpFile"].ToString());
> string[] arScript =
>

Request.ServerVariables["SCRIPT_NAME"].ToString().Split("/".ToCharArray());
> string sScript = arScript[arScript.GetUpperBound(0)].ToString();
> sb.Append(sScript.Substring(0, sScript.LastIndexOf(".")));
> sb.Append(".htm");
>
> // you can ignore these details - this function simply returns a help
> URL
>
> return sb.ToString();
> }
> #endregion
>
> So if I'm at cs_completed.aspx, the above function will return:
> ms-its:http://gdurzi/framework/help/MyFelpF..._completed.htm
>
> In cs_completed.aspx, I do this:
> <%@ Register TagPrefix="framework" TagName="help" Src="ascx\help.ascx" %>
> and
> <framework:help id="_help" runat="server"></framework:help>
>
> The text Help (what's inside the <a></a>) is displayed, but the hyperlink
> doesn't work. Upon debugging, I realized the function GenerateHelpLink is
> never being called ...
>
> I want to accomplish this without having to write code into every page to
> call this function. I just wanted to plop the user control in there and

let
> it do it's work.. Any idea?
>
>



 
Reply With Quote
 
 
 
 
George Durzi
Guest
Posts: n/a
 
      06-26-2003
I would have to put code in the Page_Load of every ASPX page in my
application. I am trying to avoid that.

Any idea why the GenerateHelpLink() function doesn't get called though? It
doesn't make a diff if I use an <a> or a <asp:hyperlink>

"Marina" <> wrote in message
news:...
> Instead of using an <a> tag, I would use a Hyperlink control.
>
> Then in page_load do something like:
>
> Hyperlink1.NavigationURL = GenerateHelp();
>
> "George Durzi" <gdurzi@nospam_hotmail.com> wrote in message
> news:%...
> > I created a simple user control which contains a hyperlink to link the

> user
> > to a topic in a compiled help file. I named all my help topics to have

the
> > same name as the aspx they are for.
> >
> > So in the user control help.ascx's html, I have this:
> > <a href='<%# GenerateHelpLink()%>' class="mischrefcontent2" id="hrfHelp"
> > runat="server" target="_blank">Help</a>
> >
> > In the codebehind help.ascx.cs, I have this:
> > #region GenerateHelpLink
> > protected void GenerateHelpLink()
> > {
> > StringBuilder sb = new StringBuilder();
> > sb.Append("ms-its:");
> >
> >

sb.Append(ConfigurationSettings.AppSettings["ApplicationURL"].ToString());
> > sb.Append(ConfigurationSettings.AppSettings["HelpFile"].ToString());
> > string[] arScript =
> >

>

Request.ServerVariables["SCRIPT_NAME"].ToString().Split("/".ToCharArray());
> > string sScript = arScript[arScript.GetUpperBound(0)].ToString();
> > sb.Append(sScript.Substring(0, sScript.LastIndexOf(".")));
> > sb.Append(".htm");
> >
> > // you can ignore these details - this function simply returns a

help
> > URL
> >
> > return sb.ToString();
> > }
> > #endregion
> >
> > So if I'm at cs_completed.aspx, the above function will return:
> > ms-its:http://gdurzi/framework/help/MyFelpF..._completed.htm
> >
> > In cs_completed.aspx, I do this:
> > <%@ Register TagPrefix="framework" TagName="help" Src="ascx\help.ascx"

%>
> > and
> > <framework:help id="_help" runat="server"></framework:help>
> >
> > The text Help (what's inside the <a></a>) is displayed, but the

hyperlink
> > doesn't work. Upon debugging, I realized the function GenerateHelpLink

is
> > never being called ...
> >
> > I want to accomplish this without having to write code into every page

to
> > call this function. I just wanted to plop the user control in there and

> let
> > it do it's work.. Any idea?
> >
> >

>
>



 
Reply With Quote
 
Marina
Guest
Posts: n/a
 
      06-26-2003
No, you would need to put this code into Page_Load of the user control, not
the page.

I don't think the <%# %> tags work that way if it's not part of databinding
code. If you did something like <% Response.Write(GenerateHelp()); %> that
would probably do it.

But this is doing it the old fashioned ASP way. I think putting all this
type of code into Page_Load is a much neater way to do it. It follows the
idea of separating UI and code that ASP.NET introduces.

"George Durzi" <gdurzi@nospam_hotmail.com> wrote in message
news:...
> I would have to put code in the Page_Load of every ASPX page in my
> application. I am trying to avoid that.
>
> Any idea why the GenerateHelpLink() function doesn't get called though? It
> doesn't make a diff if I use an <a> or a <asp:hyperlink>
>
> "Marina" <> wrote in message
> news:...
> > Instead of using an <a> tag, I would use a Hyperlink control.
> >
> > Then in page_load do something like:
> >
> > Hyperlink1.NavigationURL = GenerateHelp();
> >
> > "George Durzi" <gdurzi@nospam_hotmail.com> wrote in message
> > news:%...
> > > I created a simple user control which contains a hyperlink to link the

> > user
> > > to a topic in a compiled help file. I named all my help topics to have

> the
> > > same name as the aspx they are for.
> > >
> > > So in the user control help.ascx's html, I have this:
> > > <a href='<%# GenerateHelpLink()%>' class="mischrefcontent2"

id="hrfHelp"
> > > runat="server" target="_blank">Help</a>
> > >
> > > In the codebehind help.ascx.cs, I have this:
> > > #region GenerateHelpLink
> > > protected void GenerateHelpLink()
> > > {
> > > StringBuilder sb = new StringBuilder();
> > > sb.Append("ms-its:");
> > >
> > >

> sb.Append(ConfigurationSettings.AppSettings["ApplicationURL"].ToString());
> > >

sb.Append(ConfigurationSettings.AppSettings["HelpFile"].ToString());
> > > string[] arScript =
> > >

> >

>

Request.ServerVariables["SCRIPT_NAME"].ToString().Split("/".ToCharArray());
> > > string sScript = arScript[arScript.GetUpperBound(0)].ToString();
> > > sb.Append(sScript.Substring(0, sScript.LastIndexOf(".")));
> > > sb.Append(".htm");
> > >
> > > // you can ignore these details - this function simply returns a

> help
> > > URL
> > >
> > > return sb.ToString();
> > > }
> > > #endregion
> > >
> > > So if I'm at cs_completed.aspx, the above function will return:
> > > ms-its:http://gdurzi/framework/help/MyFelpF..._completed.htm
> > >
> > > In cs_completed.aspx, I do this:
> > > <%@ Register TagPrefix="framework" TagName="help" Src="ascx\help.ascx"

> %>
> > > and
> > > <framework:help id="_help" runat="server"></framework:help>
> > >
> > > The text Help (what's inside the <a></a>) is displayed, but the

> hyperlink
> > > doesn't work. Upon debugging, I realized the function GenerateHelpLink

> is
> > > never being called ...
> > >
> > > I want to accomplish this without having to write code into every page

> to
> > > call this function. I just wanted to plop the user control in there

and
> > let
> > > it do it's work.. Any idea?
> > >
> > >

> >
> >

>
>



 
Reply With Quote
 
George Durzi
Guest
Posts: n/a
 
      06-26-2003
Thank you, that worked. For some reason I thought the Page_Load event of the
user control wouldn't fire.

"Marina" <> wrote in message
news:%...
> No, you would need to put this code into Page_Load of the user control,

not
> the page.
>
> I don't think the <%# %> tags work that way if it's not part of

databinding
> code. If you did something like <% Response.Write(GenerateHelp()); %> that
> would probably do it.
>
> But this is doing it the old fashioned ASP way. I think putting all this
> type of code into Page_Load is a much neater way to do it. It follows the
> idea of separating UI and code that ASP.NET introduces.
>
> "George Durzi" <gdurzi@nospam_hotmail.com> wrote in message
> news:...
> > I would have to put code in the Page_Load of every ASPX page in my
> > application. I am trying to avoid that.
> >
> > Any idea why the GenerateHelpLink() function doesn't get called though?

It
> > doesn't make a diff if I use an <a> or a <asp:hyperlink>
> >
> > "Marina" <> wrote in message
> > news:...
> > > Instead of using an <a> tag, I would use a Hyperlink control.
> > >
> > > Then in page_load do something like:
> > >
> > > Hyperlink1.NavigationURL = GenerateHelp();
> > >
> > > "George Durzi" <gdurzi@nospam_hotmail.com> wrote in message
> > > news:%...
> > > > I created a simple user control which contains a hyperlink to link

the
> > > user
> > > > to a topic in a compiled help file. I named all my help topics to

have
> > the
> > > > same name as the aspx they are for.
> > > >
> > > > So in the user control help.ascx's html, I have this:
> > > > <a href='<%# GenerateHelpLink()%>' class="mischrefcontent2"

> id="hrfHelp"
> > > > runat="server" target="_blank">Help</a>
> > > >
> > > > In the codebehind help.ascx.cs, I have this:
> > > > #region GenerateHelpLink
> > > > protected void GenerateHelpLink()
> > > > {
> > > > StringBuilder sb = new StringBuilder();
> > > > sb.Append("ms-its:");
> > > >
> > > >

> >

sb.Append(ConfigurationSettings.AppSettings["ApplicationURL"].ToString());
> > > >

> sb.Append(ConfigurationSettings.AppSettings["HelpFile"].ToString());
> > > > string[] arScript =
> > > >
> > >

> >

>

Request.ServerVariables["SCRIPT_NAME"].ToString().Split("/".ToCharArray());
> > > > string sScript = arScript[arScript.GetUpperBound(0)].ToString();
> > > > sb.Append(sScript.Substring(0, sScript.LastIndexOf(".")));
> > > > sb.Append(".htm");
> > > >
> > > > // you can ignore these details - this function simply returns a

> > help
> > > > URL
> > > >
> > > > return sb.ToString();
> > > > }
> > > > #endregion
> > > >
> > > > So if I'm at cs_completed.aspx, the above function will return:
> > > >

ms-its:http://gdurzi/framework/help/MyFelpF..._completed.htm
> > > >
> > > > In cs_completed.aspx, I do this:
> > > > <%@ Register TagPrefix="framework" TagName="help"

Src="ascx\help.ascx"
> > %>
> > > > and
> > > > <framework:help id="_help" runat="server"></framework:help>
> > > >
> > > > The text Help (what's inside the <a></a>) is displayed, but the

> > hyperlink
> > > > doesn't work. Upon debugging, I realized the function

GenerateHelpLink
> > is
> > > > never being called ...
> > > >
> > > > I want to accomplish this without having to write code into every

page
> > to
> > > > call this function. I just wanted to plop the user control in there

> and
> > > let
> > > > it do it's work.. Any idea?
> > > >
> > > >
> > >
> > >

> >
> >

>
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
WebService called by automation dll times out when being called from Navision Felix ASP .Net Web Services 1 09-29-2006 01:43 PM
Multiple *.ascx files with a single *.ascx.cs in VS.NET 2003 Holger (David) Wagner ASP .Net 2 07-03-2004 09:23 AM
datasource of child .ascx not visible to parent .ascx Joe ASP .Net Web Controls 1 02-16-2004 07:27 AM
can a dg be added to an ascx? ascx call a ws? Jason Shohet ASP .Net 1 11-10-2003 07:08 PM
[ASCX] Add an ascx in a webcontrol... Quentin ASP .Net 1 07-29-2003 07:37 PM



Advertisments