ASP.Net seems to want to rewrite the path to point to the absolute location. For example, If the control is on [URL] the link href will be rewritten to read
Why does Asp.Net rewrite these control paths, and is there an elegant way to fix it?
I just want the anchor control to spit out exactly what I tell it to!!! Is that so hard?
EDIT:
I've basically done what Kelsey suggested. I knew I could do it this way, but I don't like adding markup in my code when I want something relatively simple. At least it solves the problem:
As you can see by the amount of code needed for what is essentially supposed to be be a simple and light-weight anchor, it's not the most optimal solution. I know I could use a Literal but I figured this was cleaner as I'm adding more than one anchor.
I have a website, lets call it mywebsite.com. I also have a blog at mywebsite.com/blog. I have made a URL rewrite rule so it can be accessed from blog.mywebsite.com. The issue is that all my root relative paths (~/) do not work when viewing the blog from blog.mywebsite.com. Ok, say if there is a link on my blog that goes to a blog post that is at ~/blog/post.aspx?id=1. It will then go to blog.mywebsite.com/blog/post.aspx?id=1 which is actually, mywebsite.com/blog/blog/post.aspx?id=1 and that does not exist.
My WebApp is part CMS, and when I serve up an HTML page to the user it typically contains relative paths in a.href and img.src attributes. I currently have them accessed by urls like: ~/get-data.aspx/instance/user/page.html -- where instance indicates the particular instance for the report and "user/page.html" is a path created by an external application that generates the content. This works pretty reliably with code in the application's BeginRequest method that translates the text after ".aspx" into a query string, then uses Context.RewritePath(). So far so good, but I've just tripped over something that took me by surprise: it appears that if any of the query string ("instance/user/page.html") happens to contain a plus sign ("+") the BeginRequest method is never called, and a 404 is immediately returned to the user.
So my question is two-fold:
Am I correct in my belief that a "+" would cause the 404, and if so are there other things that could cause similar problems? Is there a way around that problem (perhaps a different method than BeginRequest)? Is there a better way to preserve relative URL paths for generated content than what I'm using? I'd rather not require site admins to install a 3rd party rewrite tool if I can help it.
We have a multilingual site, or culture-sensitive, and some of the static content now needs to be targeted; for this I'm using themes as it seems the easiest way to achieve what I want, but I can't for the life of me get the images to pick up.I'm setting the theme in code-behind, and thought at first that maybe this was the issue, but on checking up it looks like I'm doing the right thing (setting on Pre-Init).
I expect to be able to reference images using relative paths where App_Themes/ThemeName/ is automatically resolved, such as:
For whatever reason, however, the image isn't being pulled through at all.This is the code we have in place for setting the theme (the only really relevant part, I'm sure, being the Theme = CurrentSite.CultureName, which is applied successfully):
Private Sub SetTheme() Dim themesPath = Server.MapPath("~/App_Themes") If Directory.Exists(themesPath) Then[code]...
In the above code, CurrentSite.CultureName would be a language culture name (for example, en-gb, or nn-no) that does have an existing corresponding theme folder containing all required resources.Pages do have EnableTheming set to True. Also, I have tried removing the theme-setting code and applying the theme in the page using Theme="en-gb" to no avail.
Is there anything immediately evident as to why the URLs aren't resolved?
I am working on a localization project, some of the localized text are in graphics, some of the example graphics paths:
/en/images /es/images /fr/images
My web forms use <asp:image> controls and <img> tags (runat = sever) to point to graphics in /en/images. I need to a function to loop through all image control and point them to different paths based on the locale set at runt time. Which event should I override and how do I write it?
All my web pages inherit from a base page, I don't know if that makes differences.
I have a problem with my paths.hen I look at the default page that has my logo on the site.master the image (on site.master) shows fine in my browser:http://localhost:50033/Img/Logos/ahn_logo.pngAs soon as I click on a link like "About Us" the view gets returned but the image path is now:http://localhost:50033/Home.aspx/Img/Logos/ahn_logo.pngand it does not show.Why does the path of the master page image change ?
I've been assigned a task to get a site ready for migration over to a load balanced architecture. It will have 4 active servers and 2 static, where the active ones will contain the main site, with the static ones containing images, text files etc..My question is, what is the best way to deal with the image paths in this situation?e.g. one one server the image will be something like : 'serverONE/images/image.jpg' but this need the ability to change to 'serverTWO/images/image.jpg'
I am trying to create a small app that will stream read a remote web page (specified by user input)find all images within the page (using regular expressions)stream read these imagesadd them as LinkedResource 's to a HTML emailI have got it working fine when the images and defined using absolute urls but not when they are relative - How can I can webRequest / streamReader to behave like a web browser does and locate the images based on their relative location.I have thought about manipulating the main web url and prefixing it to the source of the image, but I am not sure how I would deal with am image source such as
I am using SlideShowExtender and I am using a Slideservice webservice located also in root folder. It works fine. My image folder is in ROOT FOLDER. But I have member webpage folders and a general web pages folder. Now, when I click on webpages of any of these folders, the slideshowextender stops working because it looks for my IMAGE folder in those Webpage Folders. I know this happens because I can see it trying to download the image from that URL which DOESNT EXIST(looking for my image folder in webpage folders).
How do I make a relative URL for the images so that the slideshowextender still POINTS to the ROOT FOLDER of images and displays images at all times.
I cannot make the slideshowextender work when I am logged into the system.
I'm using a jQuery Menu in my Masterpage. This masterpage is used for several pages in the root directory of the webapplication. Now i have a page in a sub-directory and all the image-, stlyesheet and javascript-files paths are invalid there. I solved it almost by using servercontrols, tilde(~) and adding scriptreferences to the ScriptManager as you can see here:
[code]....
I could use absolute paths, but that would work only on the productive system and not on the development systems. Is there no other way to handle this?
This is very programming related but a somewhat non-programming question. I am performing image scaling in a web based application and I need to maintain my image relative to a fixed location even though it scales anchored by its top, left corner. Hope the graphic make this possible.The idea is that C is a fixed location that I want to maintain as my scaling origin rather than B which which is the current css behavior. C may or may not be within the actual image. So as the image scale, B needs to move relative to C. Example: if the image was scaled 50%, then B would move 1/2 the distance to C. If the image grew to 200% of its size, then B would move twice the distance away from C.Ultimately looking for a formula for x & y for B given the location of C and a scaling factor for the image. Not sure the size of the image needs to be part of this but I have it if needed.
I want my users to upload their photos to my website. I am using fileupload for this. I have jquery to crop the image to desired size ( according to user).What I am doing is this, when a user uploads a photo, I use the uploaded image's address as ImageUrl , and the user gets its pic dynamically as soon as he uploads it.And then with the help of jquery , user can crop it to dimension of his/her choice. Finally, I get a cropped and smaller image. [:)]But the real problem is this, if a user uploads a picture of greater dimensions ( e.g. 1600x1200) , image covers up all the screen, so I want a method so that the uploaded image get restricted to a fixed height and width (say 500x5500) before it is available for cropping to the user.I have tried .......,Image's Width=500, Height = 500 ( using asp:image ) and attribute.add.style("width:500;height:500); ( using html img ) in code behind after uploading image . The image first appears in 500x500 dimension but immediately changes to its original dimension...
I've got an ASP.Net app that uses Jquery ajax to get dynamic html an insert into a certain div on the screen. This works but one of the tags is an image tag and no image is being displayed, just the "X" since image is on the server. The path of the image is on the server, ~/Images/user2.png.
I'm thinking about having a server side image, , hold the image i need that is not visible and somehow using jquery, "copy" that image to the real html image tag after it is appended.
But I can't think of how to copy it.
The thing to remember is the html image tag doesn't exist until the ajax data is loaded and appended to the destination tag.
I am wanting to create a path somewhat like this: /Administration/News and have it forward to a News controller instead of it being the action.How would I go about this?
Iam new to ASP.NET and poking around my first ASP Web Application projects in .NET 4.0 I have problem, which I can't solve, and google searches does not bring any joy. So I would ask for and/or explanation of following problem:
Assume that I have set up following project structure:
I have the following code, which generates insert queries
For Each f As String In Directory.GetFiles(d) objSQLStringBuilder.Append("insert into table1 (full_path, file_name) values ('" & f.Replace("'", "''") & "', '" & f.Remove(0, Len(d) + 1).Replace("'", "''") & "');") Next
However, the paths which it finds are formatted as follows c:program filesmicrosoft officewinword.exe I need to format the paths as follows file:///c:/program%20files/microosoft%20office/winword.exe. How can I modify the above code to do this?
This may be a dumb question, but I've got a DLL that I compile and reference locally in a web site project and everything runs just fine. When I deploy this solution to the test server, I get an "Object reference not set to an instance of an object." error and the stack trace displays the files with their paths that are causing the error. The thing is, the paths being displayed are the absolute path as they existed on my development machine. Here's the stack trace:.........................
I use ASP.NET routing to rename the full paths of my URLs (ie. /page1/page2/file.aspx would just become /file.aspx). This doesn't work with web.config authorization, because that uses physical path/folder names.
I have a problem with my code. My code is using the fileupload control to browse for a filename when you add a filename it processes it and the code runs fine on when it lives on local host, but when I put the code on our prodution server it cannot find the filenames listed by user.
For example if I use the upload control to browse to B:MISCH IntiveRPTTOFL_3.csv and the code lives on my localhost which know what that file path means it works, but if the code is moved to a production server it may or maynot know what B:/ is or B:/ maybe mapped to something else. Even if I am browsing to a file on my C drive it will work on if the code is on the machine that the C drive is on, but it will not work if the code is on another machine because obviously that file wouldnt be on that C drive.
Private Function CSV2DataTable(ByVal filename As String) As DataTable
Using MyReader As New _ Microsoft.VisualBasic.FileIO.TextFieldParser(filename) MyReader.TextFieldType = FileIO.FieldType.Delimited
What can I do in asp.net to make the filename work correctly?
now I want to pass the filename to the function above for processing. Do I pass Server.MapPath("~/") + filename as the filename? Also when I am done what do I do to delete the file from the server?