Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. Web Development
  3. ASP.NET
  4. File Access Error

File Access Error

Scheduled Pinned Locked Moved ASP.NET
helpcsharpasp-netcomsysadmin
10 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Offline
    G Offline
    gvanto
    wrote on last edited by
    #1

    In my Page_Load method, I open up a text file (which populates an asp:label further down the page - not sure if this is the best way of doing this but anyway). This works fine on my local machine, however it breaks down when running online: http://www.sharedigest.com/options/Default.aspx[^] I have tried fiddling with the security settings of the .txt file in windows explorer (and then upload to server) but this makes no difference. If anyone has advice on how to get around this security-related problem, it'll be highly appreciated!! Gerry asp.net newbie

    Put a Smile On Your Face http://www.thecrazywebsite.com

    D 1 Reply Last reply
    0
    • G gvanto

      In my Page_Load method, I open up a text file (which populates an asp:label further down the page - not sure if this is the best way of doing this but anyway). This works fine on my local machine, however it breaks down when running online: http://www.sharedigest.com/options/Default.aspx[^] I have tried fiddling with the security settings of the .txt file in windows explorer (and then upload to server) but this makes no difference. If anyone has advice on how to get around this security-related problem, it'll be highly appreciated!! Gerry asp.net newbie

      Put a Smile On Your Face http://www.thecrazywebsite.com

      D Offline
      D Offline
      doWhileSomething
      wrote on last edited by
      #2

      Try creating a new directory inside your app, call it whatever (file_storage). Adjust your code so it points to the new path. This alone may correct the issue. If this does not correct the issue, then I would say something is off with your web.config or the IIS settings. This is really not the best method or storage option either, you may want to consider using an XML file instead if you do not have any database options. Also, you can simplify your code a bit:

          Dim sr As New System.IO.StreamReader("yourPathAndFile")
          LabelSomething.Text = sr.ReadToEnd()
          sr.Close()
      

      Always make sure to close the file as well, you may want to implement a try ..catch around file operations and ensure you close them in the finally block. EDIT - also, if its just the ad words your trying to include on the page from the text file, you may want to build a simple control that you can use on all of your pages. -- modified at 21:38 Tuesday 24th July, 2007

      My Personal Site

      G 1 Reply Last reply
      0
      • D doWhileSomething

        Try creating a new directory inside your app, call it whatever (file_storage). Adjust your code so it points to the new path. This alone may correct the issue. If this does not correct the issue, then I would say something is off with your web.config or the IIS settings. This is really not the best method or storage option either, you may want to consider using an XML file instead if you do not have any database options. Also, you can simplify your code a bit:

            Dim sr As New System.IO.StreamReader("yourPathAndFile")
            LabelSomething.Text = sr.ReadToEnd()
            sr.Close()
        

        Always make sure to close the file as well, you may want to implement a try ..catch around file operations and ensure you close them in the finally block. EDIT - also, if its just the ad words your trying to include on the page from the text file, you may want to build a simple control that you can use on all of your pages. -- modified at 21:38 Tuesday 24th July, 2007

        My Personal Site

        G Offline
        G Offline
        gvanto
        wrote on last edited by
        #3

        Hi there, Creating the directory still doesn't work: http://www.sharedigest.com/options/Default.aspx Yeah I was wondering: there's gotto be a more elegant way to include generic pieces of html / javascript / whatever into pages. Is this what controls are about? Dang I am so new to this it aint funny lol. Ie. if I have a piece of code, say a small table ...

        and I want to include that in many different pages, can I do that? Many thanks for your help, Gerry fresh from windows app creation world :-O

        Learn How to Make $ With Domains http://www.dntutor.com

        G D 2 Replies Last reply
        0
        • G gvanto

          Hi there, Creating the directory still doesn't work: http://www.sharedigest.com/options/Default.aspx Yeah I was wondering: there's gotto be a more elegant way to include generic pieces of html / javascript / whatever into pages. Is this what controls are about? Dang I am so new to this it aint funny lol. Ie. if I have a piece of code, say a small table ...

          and I want to include that in many different pages, can I do that? Many thanks for your help, Gerry fresh from windows app creation world :-O

          Learn How to Make $ With Domains http://www.dntutor.com

          G Offline
          G Offline
          gvanto
          wrote on last edited by
          #4

          But yeah its pretty worrying that one can't open a file on your own server?! Perhaps it needs to be in a special folder? G

          Learn How to Make $ With Domains http://www.dntutor.com

          1 Reply Last reply
          0
          • G gvanto

            Hi there, Creating the directory still doesn't work: http://www.sharedigest.com/options/Default.aspx Yeah I was wondering: there's gotto be a more elegant way to include generic pieces of html / javascript / whatever into pages. Is this what controls are about? Dang I am so new to this it aint funny lol. Ie. if I have a piece of code, say a small table ...

            and I want to include that in many different pages, can I do that? Many thanks for your help, Gerry fresh from windows app creation world :-O

            Learn How to Make $ With Domains http://www.dntutor.com

            D Offline
            D Offline
            doWhileSomething
            wrote on last edited by
            #5

            You might want to look at using master pages with .net 2.0. With them, you define a template page (the master) that all of your (content) pages use. Regardless if you use master pages or the older method (includes, etc..), if you have something that needs to be on every page (like a navigation menu), then I would embed it. If you have something that only needs to be on one or two pages, I would write code for those specific pages to get it on the page. If you will have the need to share this "block" of code on many pages but not all of them, or just for certain users, I would make it a user control. A user control can be simple (what you currently need) or very complex, that all depends on you and your needs. Hope this helps.

            My Personal Site

            G 1 Reply Last reply
            0
            • D doWhileSomething

              You might want to look at using master pages with .net 2.0. With them, you define a template page (the master) that all of your (content) pages use. Regardless if you use master pages or the older method (includes, etc..), if you have something that needs to be on every page (like a navigation menu), then I would embed it. If you have something that only needs to be on one or two pages, I would write code for those specific pages to get it on the page. If you will have the need to share this "block" of code on many pages but not all of them, or just for certain users, I would make it a user control. A user control can be simple (what you currently need) or very complex, that all depends on you and your needs. Hope this helps.

              My Personal Site

              G Offline
              G Offline
              gvanto
              wrote on last edited by
              #6

              Hi doWhileSomething, I am in fact already using a master page. I would like to use a generic piece of html code in certain sections of pages, but not necessarily the SAME areas (else this could prob be done nicely with the master page). Just a simple piece of html being 'included' (like with php, if I want to conditionally include a piece of code, simply do: if($yesPleaseIncludeAdsenseHere == true){ include "inc/adsense.php"; }) in certain areas, like such: Page1.aspx: - -- - - - table...stuff stuff INCLUDE section (html / javascript) * stuff stuff blah blah - - - - - - Page2.aspx - - - - - - - stuff stuff blah more stuff stuff html table or whatever blah blah INCLUDE section (html / javascript) * - - - - - - - * perhaps i can create this section in a seperate html file and simply do Response.WriteFile("includeFile.html") eh? Cheerio, Gerry

              Learn How to Make $ With Domains http://www.dntutor.com

              D 1 Reply Last reply
              0
              • G gvanto

                Hi doWhileSomething, I am in fact already using a master page. I would like to use a generic piece of html code in certain sections of pages, but not necessarily the SAME areas (else this could prob be done nicely with the master page). Just a simple piece of html being 'included' (like with php, if I want to conditionally include a piece of code, simply do: if($yesPleaseIncludeAdsenseHere == true){ include "inc/adsense.php"; }) in certain areas, like such: Page1.aspx: - -- - - - table...stuff stuff INCLUDE section (html / javascript) * stuff stuff blah blah - - - - - - Page2.aspx - - - - - - - stuff stuff blah more stuff stuff html table or whatever blah blah INCLUDE section (html / javascript) * - - - - - - - * perhaps i can create this section in a seperate html file and simply do Response.WriteFile("includeFile.html") eh? Cheerio, Gerry

                Learn How to Make $ With Domains http://www.dntutor.com

                D Offline
                D Offline
                doWhileSomething
                wrote on last edited by
                #7

                Creating a user control IMO is certainly the way to go and master pages in most ways will simplify the entire project. With a user control, you could put it where every you want, whenever you want and maintain just the one code stub that resides in the user control (basically a fancy include). You can add your control to the page at design time or run time wrapped in a conditional statement. I would say loading it at run time is the best method though if your not always going to make it visible on a given page. With this, you can just call a method based off of your criteria. e.g. record in a db, certain browser restrictions, cookies, etc.. Another option is to place the contents in a panel and just toggle the visibility of the panel (or any control), but this is probably the least desired way of achieving your goal.

                My Personal Site

                G 1 Reply Last reply
                0
                • D doWhileSomething

                  Creating a user control IMO is certainly the way to go and master pages in most ways will simplify the entire project. With a user control, you could put it where every you want, whenever you want and maintain just the one code stub that resides in the user control (basically a fancy include). You can add your control to the page at design time or run time wrapped in a conditional statement. I would say loading it at run time is the best method though if your not always going to make it visible on a given page. With this, you can just call a method based off of your criteria. e.g. record in a db, certain browser restrictions, cookies, etc.. Another option is to place the contents in a panel and just toggle the visibility of the panel (or any control), but this is probably the least desired way of achieving your goal.

                  My Personal Site

                  G Offline
                  G Offline
                  gvanto
                  wrote on last edited by
                  #8

                  Hi there, I tried using a label and then programmatically setting its content in the Page_Load() method (so i check the contents of the label and then, depending on what it is, set it to some html). The problem comes in when trying to set the text equal to javascript: since the word "" occurs in the javascript itself, regardless of whether its specified in a string, VS reads it as the end of the asp tag! but besides this problem, i need to have ONE place which contains the generic code, therefore im just doing Respose.WriteFile("adsense/adOne.html") (which contains the javascript for adsense) and that doesn't seem to have the same file access error that FileStream produces! weird... G <div class="ForumSig">Learn How to Make $ With Domains <a href="http://www.dntutor.com/intro">http://www.dntutor.com</a></div></x-turndown>

                  D 1 Reply Last reply
                  0
                  • G gvanto

                    Hi there, I tried using a label and then programmatically setting its content in the Page_Load() method (so i check the contents of the label and then, depending on what it is, set it to some html). The problem comes in when trying to set the text equal to javascript: since the word "" occurs in the javascript itself, regardless of whether its specified in a string, VS reads it as the end of the asp tag! but besides this problem, i need to have ONE place which contains the generic code, therefore im just doing Respose.WriteFile("adsense/adOne.html") (which contains the javascript for adsense) and that doesn't seem to have the same file access error that FileStream produces! weird... G <div class="ForumSig">Learn How to Make $ With Domains <a href="http://www.dntutor.com/intro">http://www.dntutor.com</a></div></x-turndown>

                    D Offline
                    D Offline
                    doWhileSomething
                    wrote on last edited by
                    #9

                    If your hell bent on not creating a control, and want to dynamically add the script, you should take a look at the page.registerstartupscript method. http://msdn2.microsoft.com/en-us/library/system.web.ui.page.registerstartupscript.aspx[^] Also, get rid of the label control, for stuff like this (raw text/HTML) using a literal control is a much better option. It has no mark up tags once rendered to the browser. The label control renders its text between "span" tags. (FYI). If your simply not sure how to create a control and want some help with it, just ask. I have no problem taking a few minutes to help you with it.

                    My Personal Site

                    G 1 Reply Last reply
                    0
                    • D doWhileSomething

                      If your hell bent on not creating a control, and want to dynamically add the script, you should take a look at the page.registerstartupscript method. http://msdn2.microsoft.com/en-us/library/system.web.ui.page.registerstartupscript.aspx[^] Also, get rid of the label control, for stuff like this (raw text/HTML) using a literal control is a much better option. It has no mark up tags once rendered to the browser. The label control renders its text between "span" tags. (FYI). If your simply not sure how to create a control and want some help with it, just ask. I have no problem taking a few minutes to help you with it.

                      My Personal Site

                      G Offline
                      G Offline
                      gvanto
                      wrote on last edited by
                      #10

                      hi there doWhileSomething, yeah i would very much like to learn about a literal control. I'm not hell-bent on not using a control (in fact i'd prefer to use one!). But just as a reference, here's the code im currently using (which works quite well, but what would be better is if I could load in an html file and populate the contents of a control with it in the Page_Load function, since currently the the label already has text, so if for some reason the html file doesn't write, there will be text on the page :( <% if(adsenseLabel.Text == "ab") Response.WriteFile(ResolveClientUrl("~/adsense/as_articleBottom_ab.html")); else Response.WriteFile(ResolveClientUrl("~/adsense/as_articleBottom_gvt.html")); %>

                      Learn How to Make $ With Domains http://www.dntutor.com

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups