Two separate questions, but sufficiently intertwined that I'm going to try the two together....
Firstly - User Controls and Behaviours
I have a User Control which contains a few visual controls. I am attaching some behaviours by using GetScriptDescriptors and am passing some JavaScript to the browser using GetScriptReferences. That is all rock solid and working well. However, when developing, I did discover that I couldn't attach the ehaviours to the User Control itself - not surprising as rendering a User Control does not create a DOM element which represents the actual control. So, I have attached my behaviours to a "random" TextBox within the User Control.
So - first question, is there a better way to do that? For example, should I always be rendering a SPAN as an element to surround the control? Not sure what that would do to the robustness of the rendering. What is the right way to attach a behaviour to a User Control.
Secondly - Accessing those same Behaviours later
Assume I have placed a User Control on the page. That User Control exposes a Property (actually a Javascript Function of course) which does "something" to the control - for the sake of example we'll say that the function is set_Border(colour). I then have a behaviour on the same page (actually an Extender on a different control) which needs to call the function. I have a reference to the User Control in my script, so I have tried TheControlReference.set_Border('red') and find that my control doesn't support the set_Border method.
I guess this is probably because the behaviours are not attached to the User Control itself, but to a GUI element within it. Hence, I suspect that the answer to the second question lies within the answer to the first.
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="test.ascx.cs" Inherits="UserControls_test" %> <p id="XXX">aaa</p>
and here is the contents of my test.ascx.cs file:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class UserControls_test : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { this.XXX.InnerHtml = "BBB"; } }
I get an error when I refer to the id, "XXX" (underlined above) in code behind which reads: 'UserControls_test' does not contain a definition for 'XXX' and no extension method 'XXX' accepting a first argument of type 'UserControls_test' could be found (are you missing a using directive or an assembly reference?)
I have tried XXX.InnerHtml and I have tried this.XXX.InnerHtml and get same problem.
How do I successfully refer to ID'ed HTML elements in code behind?
I have a user control which has html elements like <input type="button".... and i want to set its display property on preRender state.Would you please explain, what kind things i have to handle this user control? So, in this functionprotected override void OnPreRender(EventArgs e) { } I have only EventArgs e and it doesn't have proper method or properties to bring me the html of user control.
I don't think I understand fully how ASP.NET does inheritance of controls.I have a user control, ucBase, which has an asp.net label in the ascx file. Code behind references the label and it works fine during run time if the control is not a parent for another user parent.
If I have another user control, ucChild, inheriting from ucBase, the label in ucBase's code is always null. ucChild has no controls in its ascx fileThe server controls (like the label) needs to be declared in the ascx file and not created programmatically.What needs to be done for ucBase to see its own controls when it's a parent user control?
the template of my website looks quite good when printed, so i have no separate print css.
However, there is one element at the top which is not needed when printed, and about 2 inches high, so that's kind of a waste at the top of the printed page (which imho distracts the user from the actual content)
So, what i want to accomplish, is 'hide' that element (div) at the top of the page when a user prints the page.
But so far the only solution i've seen is top create a separate css document which then will be used when the user will print my page. That sounds good, but do i now have to maintain 2 different stylesheets with exact the same content (besides that one div)?
Or is it possible to sort of override the standard stylesheet in the print stylesheet? (so i only have to define the exception for that one div in my print stylesheet?)
I'm looking at an asp.net application, i notice that there are assemblies defined into two places. In web.config there is configuration/system.web/compilation/assemblies/add elements. In the project file there are references setup under the Project/ItemGroup/Reference elements.
I was wondering, what is the difference between assemblies/references added in either location?
This doesn't happen when I create the site in my local drive. Is there a workaround to this. Even if I add the missing parts, I keep getting the same error.
I would like to select an element that is in the same TR as another element I found with a selector. The selector itself: $("input[name='sMessageValue']","#messageTable") Now I have this element and got its value I would like to find a checkbox located in the same TR, i tried this as starting point : $(this).(':parent').val(). But seems not the right thing to do.
You're making a website with ASP.NET 4.0/C#, although xml alone is suitable for this example. The site will have a site map and a default page with a menu control, as follows:Web.sitemap
Is there a quick way to get the instance by Dom element.
My way is:
Base.find = function(element) { var c = Sys.Application.getComponents(); for (var i = 0; i < c.length; i++) { var e = c[i].get_element(); if (e == element) return c[i]; } return null; }
My observation so far in the output rendered by a datalist (when I use this user control inside it) is that the value for the name attribute is the same.I want to use this control inside a datalist/repeater such that I'd want a unique value for the input element's name attribute when the datalist/repeater renders. How is this done?
EDIT: My bad obversation. Actually the names are unique. However, when I try to post the page to another web page which outputs the key & value of all the items in Request.Form I don't see the input elements...
Element 'content' is not a known element. this can occur if there is a compilation error in the website, or the web.config file is missing.
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <asp:Content --- showed a green wavy line , and on hover displayed the above error.
Now I am having certain problems.
1. Visual Studio 2010 hangs when I try to use ToolBox.
2. Intellisense for asp.net controls is not working.
I have tried replacing web.config file (frm backup) , tried to debug - it doesnt show anything.
All other websites are working alright. Have problem with only one of the websites.
I upgraded from VS 2008 to VS 2010 and now the AJAX elements are not recognised by the source code editor, e.g. UpdatePanel, ScriptManager, etc. I get warnings in VS and no intellisense for those elements. When I run the site, all the AJAX controls work OK though.
public class CustCtl : WebControl { protected override System.Web.UI.HtmlTextWriterTag TagKey { get { return HtmlTextWriterTag.Div; } } }
With this bare bones control, it would render the root element as a Div tag. But how can I add attributes to that root HTML element that this control will render .
I've just created a Menu navigation that's linked to a SiteMapDataSource (which is in turn getting data from a .sitemap file that I've created). It looks great and acts accordingly, but my only question regarding this is there any way to just change the style (font color, in this instance) of just one element in the menu item? I just want it to stick out a little more than the rest of the menu items.
I wonder if there is anyway to actually add a HTML element before or/and after the actuall <a>-element thats rendered by the Menu control. For instance I whould like my out put HTML to look like
I've got a web site that has a master page and that master page (mpMaster that has a user control ucControl1) which has a sub user control (ucControl2), this user control has a property which accepts a value. Now, I have a page that uses the master page and on this page I have another user control (ucPageControl), I need to find a way of setting the value in ucControl2 from ucPageControl. Is this possible at all?
I got this errors while trying to use an example from the ASP.NET 3.5 Unleashed book.
Webform1.aspx
[Code]....
LengthValidator.cs
[Code]....
As from the book's note, I think I added this line correctly:
[Code]....
However, the compiler kept complaining that:
Warning 1 Element 'LengthValidator' is not a known element. This can occur if there is a compilation error in the Web site, or the web.config file is missing. C:Visual Studio 2010 ASP.NET ProjectsWebApplicationFourWebApplicationFourWebForm1.aspx 16 17 WebApplicationFour
I am using dotnetCHARTING: the dll is installed in the GAC and referenced in my web.config (all versions appear to match). The project has a reference to the dll.
The site code compiles ok, but all aspx pages using the charting library complain that the Chart tag does not exist (warning that it might be a compile error). The aspx pages do not render the charts.
Element 'AsyncPostBackTrigger' is not a known element. This can occur if there is a compilation error in the Web site, or the web.config file is missing.
My app is working properly but visual studio showing warning like that.