Home All Groups Group Topic Archive Search About

ASP.NET equivelant for include files that won't cause problems

Author
25 Mar 2009 10:18 PM
Nathan Sokalski
I need to come up with an easy way to insert the contents of a text file
into an *.aspx or *.master file, using some kind of inline code the way
include files used to be used with Classic ASP (My boss wants something that
I can simply say "Put this code in the head of the html", since half the
webteam is not yet very familiar with ASP.NET). My original attempt was:

<%=System.IO.File.ReadAllText(Server.MapPath("~/MyFile.txt"))%>


This worked fine for a while on most pages, but then I came across a page
that complained about something to do with not being able to add Controls to
ControlsCollection because the page contained a code block. Most of the
solutions I found while doing some research on this suggested using a
databinding expression using <%#  %>. The only problem with doing this is
that you must call Page.Header.DataBind() before it is evaluated, which
would require either:

1. A code block, which I cannot use because it causes the error
2. Adding code to the codebehind or a <script runat="server"></script>,
which my boss does not want me to ask everyone to do

I think writing a custom control would be nice, but once again that would be
more than my boss would be willing to let me ask everyone else to do. Any
ideas? Thanks.
--
Nathan Sokalski
njsokal***@hotmail.com
http://www.nathansokalski.com/

Author
26 Mar 2009 5:55 PM
Mel Weaver
Can you use a Literal control and insert the file with the code behind?


Show quoteHide quote
"Nathan Sokalski" <njsokal***@hotmail.com> wrote in message
news:ugiwjeZrJHA.4592@TK2MSFTNGP06.phx.gbl...
>I need to come up with an easy way to insert the contents of a text file
>into an *.aspx or *.master file, using some kind of inline code the way
>include files used to be used with Classic ASP (My boss wants something
>that I can simply say "Put this code in the head of the html", since half
>the webteam is not yet very familiar with ASP.NET). My original attempt
>was:
>
> <%=System.IO.File.ReadAllText(Server.MapPath("~/MyFile.txt"))%>
>
>
> This worked fine for a while on most pages, but then I came across a page
> that complained about something to do with not being able to add Controls
> to ControlsCollection because the page contained a code block. Most of the
> solutions I found while doing some research on this suggested using a
> databinding expression using <%#  %>. The only problem with doing this is
> that you must call Page.Header.DataBind() before it is evaluated, which
> would require either:
>
> 1. A code block, which I cannot use because it causes the error
> 2. Adding code to the codebehind or a <script runat="server"></script>,
> which my boss does not want me to ask everyone to do
>
> I think writing a custom control would be nice, but once again that would
> be more than my boss would be willing to let me ask everyone else to do.
> Any ideas? Thanks.
> --
> Nathan Sokalski
> njsokal***@hotmail.com
> http://www.nathansokalski.com/
>
Author
26 Mar 2009 10:10 PM
Nathan Sokalski
I could, but if you read my original posting I mention that the problem is
not finding a way to put the info there, but finding an inline way to do it
that does not require editing any other files. Using a Literal would require
adding code to the codebehind to add the text. I know that I am turning down
a very simple way to add the file, but unfortunately the people that will be
using the code are still to ASP.NET illiterate to add code to more than one
place (I have to give them 1 line of code that they can copy and paste into
all of their standalone *.aspx files and all of their *.master pages.) Any
other ideas?
--
Nathan Sokalski
njsokal***@hotmail.com
http://www.nathansokalski.com/

Show quoteHide quote
"Mel Weaver" <MelRemoveSpam@Insdirect.com> wrote in message
news:uwsAGwjrJHA.772@TK2MSFTNGP05.phx.gbl...
> Can you use a Literal control and insert the file with the code behind?
>
>
> "Nathan Sokalski" <njsokal***@hotmail.com> wrote in message
> news:ugiwjeZrJHA.4592@TK2MSFTNGP06.phx.gbl...
>>I need to come up with an easy way to insert the contents of a text file
>>into an *.aspx or *.master file, using some kind of inline code the way
>>include files used to be used with Classic ASP (My boss wants something
>>that I can simply say "Put this code in the head of the html", since half
>>the webteam is not yet very familiar with ASP.NET). My original attempt
>>was:
>>
>> <%=System.IO.File.ReadAllText(Server.MapPath("~/MyFile.txt"))%>
>>
>>
>> This worked fine for a while on most pages, but then I came across a page
>> that complained about something to do with not being able to add Controls
>> to ControlsCollection because the page contained a code block. Most of
>> the solutions I found while doing some research on this suggested using a
>> databinding expression using <%#  %>. The only problem with doing this is
>> that you must call Page.Header.DataBind() before it is evaluated, which
>> would require either:
>>
>> 1. A code block, which I cannot use because it causes the error
>> 2. Adding code to the codebehind or a <script runat="server"></script>,
>> which my boss does not want me to ask everyone to do
>>
>> I think writing a custom control would be nice, but once again that would
>> be more than my boss would be willing to let me ask everyone else to do.
>> Any ideas? Thanks.
>> --
>> Nathan Sokalski
>> njsokal***@hotmail.com
>> http://www.nathansokalski.com/
>>
>
>