HTML - Why Does Rewrite Relative Paths For Runat=server Anchor Controls
Mar 24, 2010
I have my UserControls in a ~/Controls folder in my solution:
/Controls/TheControl.ascx
If specify the following:
<a id="theId" runat="server" href="./?pg=1">link text</a>
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
<a id="munged_theId" href="../../Controls/?pg=1>link text</a>
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:
Aspx page:
<asp:PlaceHolder ID="ph" runat="server"></asp:PlaceHolder>
Code-behind:
var anchor = new HtmlGenericControl("a") { InnerText = "Previous" + " " + PageSize) };
anchor.Attributes["href"] = "?pg=" + (CurrentPage - 1);
anchor.Attributes["class"] = "prev button";
ph.Controls.Clear();
ph.Controls.Add(anchor);
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.
View 4 Replies
Similar Messages:
Jan 27, 2011
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.
View 3 Replies
Mar 4, 2011
What is the correct way to reference an image in ASP.NET for live deployment on IIS? The following works in dev and production:
<asp:ImageButton ID="ibnEdit" runat="server" OnClick="ibnEdit_Click" ImageUrl="~/App_Themes/Default/images/one.png" Visible="false" ToolTip="Edit" />
The following doesn't work in either: (why not?)
<img src="~/App_Themes/Default/images/two.gif" />
The following works in dev but not in production:
<img src="../App_Themes/Default/images/two.gif" />
View 2 Replies
Sep 28, 2010
How do I deal with master pages and relative paths especially when dealing with sub-folders?
View 1 Replies
Mar 29, 2011
How to access the HTML control values in form object, if runat="server", is not present in the HTML controls.
View 6 Replies
Apr 14, 2010
I want to know differences between ASP.Net WebControls and Html Controls (with runat="server" attribute).
I also want to know the possible scenarios where I have to (or want to) prefer Html Controls (with runat=server) in place of asp.net server controls?
In case of some good articles on web, do forward me. But dont forward me the links with differences between webcontrols and html controls, because my question intended for runat="server" attribute.
View 8 Replies
May 25, 2010
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.
View 1 Replies
Aug 17, 2012
how i can bind <a href="?"> from database?
View 1 Replies
Jan 9, 2011
I have the following code:
[code]....
How to access to an HTML control runat server from JavaScript
View 1 Replies
Dec 4, 2010
I have one html string in DB like below
<div style="padding-left: 200px; padding-top: 20px">
<div style="text-align: left;padding-top:10px">
<input id="Text1" type="text" /></div>
<div style="text-align: left;padding-top:10px">
<input id="Text2" type="text" /></div>
<div style="text-align: left; padding-top: 10px">
<input id="Button1" type="button" value="Submit" /></div>
</div>
i wan to render this in aspx page. but before this i want to all runat server to all html control in above string
like
<div style="padding-left: 200px; padding-top: 20px">
<div style="text-align: left;padding-top:10px">
<input id="Text1" runat="server" type="text" /></div>
<div style="text-align: left;padding-top:10px">
<input id="Text2" runat="server" type="text" /></div>
<div style="text-align: left; padding-top: 10px">
<input id="Button1" runat="server" type="button" value="Submit" /></div>
</div>
View 3 Replies
Jan 11, 2011
I have this problem - I'm working on an ASP.NET AJAX-application on a server without .net 3.5 which means I can't use ListView (BOO!).
I decided to simply do the ugly way of making a table and giving the tbody an ID and a runat server tag, and put HtmlControls inside from the codebehind (btw - this is a usercontrol, in case it makes a difference).
This all works fine - until the page does a partial postback - and all the elements disappear, since the tag is runat server I assume it requires to be repopulated in the page load.
Is there no way to actually persist the data on partial postback? And only have the content of the control change when I say so in the back end?
I guess I could save the content in a session object upon populating the control, and just repopulate in the Page_Load with the session object - but I was hoping there was a better way to do this?
View 2 Replies
Jul 2, 2010
I'm new to .net, and I've noticed that when viewing my HTML source code generated by a .net application the carriage returns are removed from the head tag when it has runat="server" attribute on it.
I remove the runat="server" and the returns... return.
This really looks nasty when you have a few javascript and css files in your header because it ends up making the entire contents of the head tag 1 big line.
Just wondering if there's a way to control this or tell .net through configuration not to mangle the output?
View 4 Replies
Dec 7, 2010
I have a span control which I am filling using Jquery. At the page load I want this span say id1 to be invisible and depending on some conditions I am making it visible via jquery itself.
When I make id1 runat = server and try to access id1 from codebehing, then I get an error in Jquery.
Hence I need a way to make id1 invisble at the load time itself.
I have already set id1 = invisble in HTML, But still I see this control on the page till the time jquery fills the entire data.
View 4 Replies
Jan 24, 2016
I am facing one asp.net server side issue using vb.net the problem is i declared one html input hidden field in my page, the name is hidden1. but when i going to call that name into server side code, that time i got the below error, <b>Name "Hidden1" is not declared</b> Code below:
Default.aspx
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication2._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
[code]....
View 1 Replies
Sep 27, 2010
I am using HTML control,and want to visible false from the server side with out using attributes runat="Server"
View 2 Replies
Apr 16, 2013
I am using Datalist which is given below:
<asp:DataList ID="dList" runat="server" RepeatColumns="4" RepeatDirection="Horizontal" RepeatLayout="Table" DataKeyField="PId"
Width="850px" align="center" >
<ItemTemplate>
[Code].....
View 1 Replies
Feb 4, 2010
HOWTO create ASP.NET C# controls on server side for posted data that had no runat=server on the client.
I have processes needing to post files to a ASP.NET application. These processes must post without runat=server as such:
<form ~~~~ to some ASP.NET/C#/aspx page>
<input type=file name=MY_FILE ~~~>
</form>
On the ASP.NET page, in the Page_Load I would code somethign like this:
[URL]
Here is the trick, the control "fileLIST_FILE" does not exist because the HTML does not have runat=server on it.
If the client did have runat=server the designer.cs would have somethign liek this:
System.Web.UI.HtmlControls.HtmlInputFile fileLIST_FILE;
With all that said, I want to make "fileLIST_FILE" on the fly inside Page_Load fromt he posted name of "MY_FILE".
do not focus on the fact that this is a file upload. I would like to know how to do this for any posted FORM data.
View 11 Replies
Sep 6, 2013
I have an anchor tag in gridview
<a href ='<%#"Edit_TidalData.aspx?Id="+DataBinder.Eval(Container.DataItem,"id") %>,'
where id is the datakeyname of the grid now i had a requirement to add another datakename as UserId. and i need to have DataBinder.Eval for UserId also.
How am going to use two values in this anchor tag using DataBinder.Eval?
View 1 Replies
Mar 29, 2011
I have created a new Web project (.Net 3.5) and I've removed the original Default page in favour of creating a Master page and then recreating a Default with Master page. All worked lovely. Now, when I add my controls inside of the ContentPlaceHolder on the Default page, I get compiler errors when I try to access the controls from the CodeFile:
Error 4 '_Default' does not contain a definition for 'FirstName' and no extension method 'FirstName' accepting a first argument of type '_Default' could be found (are you missing a using directive or an assembly reference?)
My declaration of the control:
<asp:TextBox runat="server" ID="FirstName" />
EDIT
Page declaration:
<%@ Page Title="" Language="C#" MasterPageFile="~/Master/MasterPage.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
Code-behind:string firstname = FirstName.Text;
View 1 Replies
Mar 19, 2010
I would like to ask how can i make an html anchor (a element) or even any object to do a postback or to execute an server side method?I want to create a custom button (a wrapped with some divs to do some custom them) and i want to implement OnClick to be look like the ASP.NET LinkButton?Like<a href="#" onclick="RunServerSideMethod()">Just a simple link button</a>
View 3 Replies
Nov 17, 2010
I have a Master.aspx and a Page1.aspx and Page2.aspx, all in the same directory.
Master:
<asp:HyperLink NavigateUrl="Page1.aspx" runat="server" Text="Page 1" />
<asp:HyperLink NavigateUrl="Page2.aspx" runat="server" Text="Page 2" />
both the Page1 and Page2 gets rendered from above master page.
all three are in a vertual directory which is mapped as a subdomain here are the details:
Virtual Drectory: dirvir
Domain: dirvir.example.com
now when I open any of the page say:
http://dirvir.example.com/Page1.aspx
the Hyperlinks are rendered containing
href="../virdir/Page1.aspx"
href="../virdir/Page2.aspx"
respectively.
On click of them it takes me to
http://dirvir.example.com/dirvir/Page1.aspx
http://dirvir.example.com/dirvir/Page2.aspx
where as I wanted it to be
http://dirvir.example.com/Page1.aspx
http://dirvir.example.com/Page2.aspx
I can achive the same by using <a> but i need them on the code behind too so thats not desired.
Note: using <a> with runat server also behaves in the same way HyperLink does.
View 3 Replies
Sep 22, 2010
how to find html anchor control in telerik:radgrid ?
View 1 Replies
Apr 7, 2010
I am trying to render a simple hyperlink that links to a named anchor within the page, for example:
<a href="#namedAnchor">scroll to down</a>
<a name="namedAnchor">down</a>
The problem is that when I use an ASP.NET control like asp:HyperLink or HtmlAnchor, the href="#namedAnchor" is rendered as href="controls/#namedAnchor" (where controls is the subdirectory where the user control containing the anchor is). Here is the code for the control, using two types of anchor controls, which both have the same problem:
[code]....
I am using the HtmlAnchor or HyperLink class because I want to make changes to other attributes in the code behind. I do not want to introduce a custom web control for this requirement, as the requirement I'm pursuing is not that important enough to justify abandoning the traditional ASP.NET link controls. It seems like I should be able to use the ASP.NET link controls to generate the desired link.
View 3 Replies
Jul 26, 2010
I'm creating a custom server control which needs to take in a root-relative path for one of it's properties. I use the UrlProperty, but when I select a file in the markup, the selected path doesn't inlcude the the "~/". I'd like to mimic the behavior of a hyperlink. So let's say I have this:
<asp:HyperLink ID="HyperLink1" NavigateUrl
When I type in an equals sign after the NavigateUrl property, intellisense pops open a URL picker and I can pick from any page to produce this code:
<asp:HyperLink ID="HyperLink1" NavigateUrl="~/default.aspx"
this code has the "~/" in front. When I use my control, I have this:
<cc1:TestControl ID="TestControl1" Url="default.aspx"
the C# code has this property:
[UrlProperty]
public string Url { get; set; }
Does anyone know how I can make the "~/" be placed in front to make a root-relative path?
View 3 Replies
Oct 1, 2010
I have a Sidemenu item in my ASP.NET application like below. There are two types of users in my application (Associates, Managers).When ever Associate Login then I have to disable Manager link. I am not able find visible property in codebehind since it is a HTML control. So need your support how to handle this
<ul>
<li><a href="Associate.aspx?val=Tests&index=0" id="lnkAssociates">Associate</a></li>
<li><a href="Manager.aspx id="lnkManager">Manager</a></li>
</ul>
View 2 Replies