C# - Relative URL Not Working In System.Web.UI.UserControl?
Feb 4, 2011
public class foo : System.Web.UI.Control
{
public foo()
{
var a = new HyperLink(){ Text="Test", NavigateUrl="~/abc.aspx"};
this.Controls.Add(a);
}
}
The above code works properly, and when added to a page will successfully identify the tilde / ~ symbol and convert the url into a relative url.
However, when I change the derivation of the class to System.Web.UI.WebControl it does absolutely nothing, and leaves the tilde / ~ intact.
I had a look at System.Web.UI.Control which implements the IUrlResolutionService interface, but still can't seem to get System.Web.UI.WebControl to resolve urls.
We have a Page Method on a web page using ASP .Net. We tried to put in a trace statement using both System.Diagnostics and System.Diagnostics.Debug. In Visual Studio 2008, the break point is not even hit for the line, but other break points on other lines are hit.There is no output from either method that we can see.
There is also a Global.asax error catcher that works fine in other cases, but in the Page Method is not being catched.why a Page Method and System.Diagnostics do not play well together?
First off, I am wondering if this is possible. I read slight grumblings around the internet about this, but I was not entirely sure.
My scenario: I have a base chart class which has some methods which all charts should have.
public partial class BaseChart : System.Web.UI.UserControl { public BaseChart() { } public void ToggleLegend() { Chart1.Legends[0].Enabled = !Chart1.Legends[0].Enabled; } }
There is also some mark-up for this BaseChart -- setting background colors, etc. All charts which inherit BaseChart should use this starting mark-up and be able to build upon it.
I would then like to do this:
public partial class HistoricalLineChart : BaseChart { public HistoricalLineChart() : base() {
I have defined the following control which serves as a wrapper for another control (simplified code):
[code]....
Can anyone provide any insight as to why it is failing in one environment, but not the others? Is this something related to configuration? The user control is hosted within a "SmartPart" style user control loader which is being used on a WSS 3.0 site in the DIT/SIT/UAT environments.
((Alert)Container.DataItem).AlertId.ToString() the value I get for SystemObjectRecordId in debug is null (but it still works when assigned to the text attribute of a literal).
5) The location of the User Control is default.aspx and the control is comments.ascx. The code files do not share a namespace.
6) I have tried manipulating the OnItemDataBound property of my repeater but since I have proven with the literal that data is getting bound using a declarative value I am not sure what else I could be doing inside the method logic of OnItemDataBound.
Once the end-user makes a comment in the UI, the SystemObjectRecordId value (which should have already been assigned when the page loaded - and we know it does in the case of the literal) should get passed to the codebehind of the custom usercontrol:
[code]....
No matter what I do, I always get zero for SystemObjectRecordId when passed via the custom user control I have on my default.aspx page.
And in another page:<uc:wuc ID="wuc" runat="server" CacheString="B" />According to the docs this control should maintain a different, 60 second cached version for each value of the CacheString property.It doesn't work - it caches for 60 seconds, but only one cached copy is created regardless of what I put in the CacheString property.
I have created a real simple templated UserControl and
I can now add this control to my Asp.net WebApplication using:
[code]...
i can embed this in a page (aspx) but i is not working in usercontrol (ascx). when i use this inside usercontrol, the designer file (.ascx.designer.cs) itself not getting generated.
getting the following error:
Element 'Box' is not a known element. This can occur if there is an error in the webpage, or the web.config file is missing.
Update: sometimes it works! i created couple of controls. it works in some place and it doesnot works in someother place.
I just create a js file and write all my codes into it after i added this file to UserControl and after i get this UserControl's html i use $("#DivID").html(UserControlHTML);
Its working now.
Hi everyone;
Im using Ajax and Webservice to load UserControls. Its ok i can easily get the html code of UserControl but there is a problem.
For example UserControl's html code is something like that.
<h3>Header</h3> <div id="content"> <p>lorem ipsum dolor sit amet...</p>[code]....
When i get this html code and insert it to an div's innerHTML.html looking as it should. But javascript codes which written on usercontrol not working.It should give me alert but its not.
i m using master and content page and i have created Usercontrol for Left menu of jquery but my menu working fine in html markup but not in content page
i have a javascript color picker i can get it working fine in a aspx page, but i am unable to get it working in a usercontrol inside a update panel. I have tried using the following but i still cannot get it to workm the js file can be viewed at [URL]
I have created a user control. Usercontrol contain a image. Attached a click event on image jusing javascript function.
image.onclick = function (e) { //some code };
Now this user control is added on aspx page. Thsi is working file first time. however when the page is getting postback this event is not working.UserControl EnableViewstate is true.What should be done?
I have developed a ASP.NET C# web page which connects to remote conmputer command prompt using PSEXEC.exe and executes some command where the output of the command will get copied to the page. It works fine in the VS 2005 IDE.
If the page is accessed via IIS from IE, the task PSEXEC.EXE appears in task manager of the server with the system account privilege after the method is triggered but nothing happens.
find my present settings in IIS and others:
1. APP Pool Identity to Local System (Predefined) and also to a configurable admin account.
2. <processModel userName="SYSTEM" password="AutoGenerate" /> in Machine.Config file
Also I've tried impersonasation in web.config file to an admin account.
I have installed VS2008 on my development machine have winxp sp2 OS.i have created one aspx page where i have placed one button. On click of that button i want to open osk.exe(on screen keyboard). i an using following code
System.Diagnostics.Process.Start("osk.exe")i works fine there.Now for testing i deployed that application to testing server having Win7 OS and IIS7.0. It is not working there.
I am using System.Net.Mail in C#.net website. Basically, I use this to send email alerts to users when some action has occurred.
The problem is, when some PC's are used to trigger an email, nothing happens. I have 2 PC's in my office, and when I do the action on one of them, it works, but not on the other. Why is that?
Also, when an action is triggered by the login page (email reports), it works everywhere, but not on other pages.
I thought C# was server-side code? Shouldn't everything work or not work based on what the server has installed?
after creating a xsd dataset in one machine when i try to use the another in a application in another system though i can use it for fetching records & all i am not able to confidure it or preview data.i already have the connectin string in web config.what changes needs to be done so that the dataset from system 1 can work in ssytem2
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Try loginRep = BusinessLogic.SR.GetUserName("99999") System.Web.HttpContext.Current.Items.Clear() System.Web.HttpContext.Current.Items.Add("RepId",loginRep)
I don't any errors and when in the run in the immediate window:
? System.Web.HttpContext.Current.items("RepId") in the immediate window on THAT page I get the OBJECT.
Then I have a hyperlink with navigateurl to the next page "~/ActCnt.aspx"
On that page, ActCnt.aspx, when in the code I have:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadIf Not Page.IsPostBack Then Dim loginRep As BusinessLogic.SalesRep = System.Web.HttpContext.Current.Items("RepId")
In the immediate window ? System.Web.HttpContext.Current.Items("RepId") returns a String that is equal to "RepId".
Even if I change it to not be an object, but a string I only get the Name "RepId" of the keypair. I have NEVER gotten the actual value.
I have a sitemap of 5 items. 2 items i only want the admin to see. I want the user to be able to login and the system recognise who it is and if an admin, bring up the 2 items in the sitemap. If not an admin, hide the items.