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

Discussion in 'ASP .Net Web Controls' started by Nathan Sokalski, Mar 25, 2009.

  1. 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

    http://www.nathansokalski.com/
    Nathan Sokalski, Mar 25, 2009
    #1
    1. Advertising

  2. Nathan Sokalski

    Mel Weaver Guest

    Can you use a Literal control and insert the file with the code behind?


    "Nathan Sokalski" <> wrote in message
    news:...
    >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
    >
    > http://www.nathansokalski.com/
    >
    Mel Weaver, Mar 26, 2009
    #2
    1. Advertising

  3. 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

    http://www.nathansokalski.com/

    "Mel Weaver" <> wrote in message
    news:...
    > Can you use a Literal control and insert the file with the code behind?
    >
    >
    > "Nathan Sokalski" <> wrote in message
    > news:...
    >>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
    >>
    >> http://www.nathansokalski.com/
    >>

    >
    >
    Nathan Sokalski, Mar 26, 2009
    #3
  4. Nathan Sokalski

    gerry Guest

    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.




    "Nathan Sokalski" <> wrote in message
    news:Oo4Xw%...
    >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
    >
    > http://www.nathansokalski.com/
    >
    > "Mel Weaver" <> wrote in message
    > news:...
    >> Can you use a Literal control and insert the file with the code behind?
    >>
    >>
    >> "Nathan Sokalski" <> wrote in message
    >> news:...
    >>>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
    >>>
    >>> http://www.nathansokalski.com/
    >>>

    >>
    >>

    >
    >
    gerry, Mar 27, 2009
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. DaveF

    GetString .net equivelant??

    DaveF, Jun 14, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    397
    DaveF
    Jun 14, 2004
  2. Replies:
    1
    Views:
    5,963
    via JavaKB.com
    Apr 12, 2005
  3. Alex Hunsley
    Replies:
    3
    Views:
    452
    Ola Natvig
    Feb 1, 2005
  4. Nathan Sokalski
    Replies:
    3
    Views:
    1,654
    Eliyahu Goldin
    Mar 28, 2007
  5. Nathan Sokalski
    Replies:
    3
    Views:
    901
    gerry
    Mar 27, 2009
Loading...

Share This Page