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

  • Thread starter Thread starter Nathan Sokalski
  • Start date Start date
N

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.
 
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?
 
so create a simple custom control that has a single property , say "Source"
, that you drop on a page as a tag, call it say Include and away you go :

<sok:Include Source="~/MyFile.txt" />

Should only take a few minutes to code up.
 
Back
Top