Custom Server Controls :: Inheriting From / Extending System.Web.UI.WebControls.Calendar?
Dec 16, 2010
This is my first "request for help" post - I've spent the past few weeks helping others, so I'm hoping someone can shed some light here.I've dealt with server controls before, so it's not new to me, but it was some time ago and I'm a bit rusty. I have an inherited calendar control, that works fine:
[Code]....
I've overriden the Render method, hoping to be able to modify the HTML output of the control - I want to hide the back arrow if the Month & Year in MinDate is reached in the calendar, and the same goes for MaxDate and the forward arrow.On top of this, I want to be able to display icons in the day cells, under certain data-bound conditions. Once I've figured one out, I'm sure I'll be able to work the other one out.Are there any other methods, events or properties more suitable for this? Are there any other controls that do what I'm looking for that I've maybe overlooked?I'm using C#.Net 4.0 Webforms - it's a very small app, so I've not used MVC etc... just a few LINQ queries to the database.
I am creating a custom control by inheriting a server control, say LinkButton. There are properties like "BorderColor" available in LinkButton. Let's say, I don't want this particular property to be available when I create an instance of the custom control.
I want to completely hide this particular property (I don't want to override it but disable it.)
I have a very simple CustomValidator control as follows:
[Code]....
If I use this on a basic aspx page as follows:
[Code]....
When I press Button1, I would expect the CustomValidator to fire only if there is a value in TextBox1.Instead, the CustomValidator is ALWAYS fired. Even adding ValidateEmptyText="false" to the validator does nothing to change this behaviour.What am I missing from my control implementation that is causing this?
I'm trying to extend de GridView control with a Custom Server Control, I'm doing ok with extended properties but when I get to methods that need to re-apply or modifiy the DataSource I don't get any data in the grid, though the SQLDataSource actually retrieve data. Here is my MyGridView.applyFilter() method, which should filter the data but actually shows an empty GridView, but as I sayed, the DataSource has data. I try to find (FindControl) theSQLDataSource of the GridView (Me) and modifiy its paramters, thenDataBind Me to apply the changes...
I created a custom clander server control basing on "System.Web.UI.WebControls.Calandar" and when i change the culture from login Screen (Ex:- Spanish) i am setting only the UI Culture in the page base class. When i had the Both "CurrentUICulture" and "CurrentCulture" set i could see the Day (Mon Tue) of the my custcalander control in the corresponding culture, but when i commented out i see them in English only (not in the corresponding culture set while loggin in. The reason why i commented out the "CurrentCulture" was that when i set this the middle tier or code behind files also running in this culture (as we are setting on the CurrentThread culture) and causing decimal data coming in this culture (Ex:- spain) and so on. So i only set the "CurrentThread.CurrentUICulture" only to corresponding culture and not the "Thread.CurrentThread.CurrentCulture". Is there a way to acheive this, i mean How to make the Day (Ex:- Mon, Tue, Wed) in the corresponding culture with out setting "Thread.CurrentThread.CurrentCulture"?
/// <summary> /// Current selected culture /// </summary> [code]....
I need to develop a custcalander which will have a textbox calendar control and drop down to change year and << < Dropdown To change year > >> and user can enter time and can click on Submit button. When user clicks on this button the data will be applied to the text box in this same custcalander control. I have an image button and on click i am opening the calander control and after user selection of date and time and when user clicks on submit i am assigning the date and time to the textbox in the calendar control. I tried it but have problem with the culture. Can somebody tell me how to acheive this? I know it is a big requirement. I wrote code and the link to that is
I'm trying to extend the GridView into a custom/user control "WorklistGridView". And I'm not quite sure how to do it... so here's what I need:Every row needs to have a control (either a boundfield or a templatefield with a label, etc.) that contains the StepID (which is a column returned in the data set).I want to be able to use the WorklistGridView as a base class and extend it to something like "XyzWorklistGridView", where that child class would have a few more controls in the row template.
I've created loads of user controls, but this is my first time dealing with extending a server control. The problem I'm getting is that the base control's data is not being persisted across postbacks in a Master/Content page.I'm actually trying to get this working using a Telerik control (for my sins), but the same issue happens with a standard Web TextBox control. Code:
[Code]....
Now, I've copied the way I handle the control state as I do it with user controls (ControlState), and it isn't working. Can someone point me in the right direction please? All the examples I find refer to creating user controls, not extending existing controls. Specifically why nothing is being persisted on post back.
I an expanding on the HotGridView control (http://msdn.microsoft.com/en-us/magazine/cc163612.aspx). During testing I noticed the "AutoGenerateCheckBoxColumn" behavior was returning true even if the user did not specify the a value in the markup but I expect it to return False if not value is supplied by the user - can anyone shed some light on why the AutoGenerateCheckBoxColumn is always true if not explicitly set to False in the markup?
am duplicating a site from a prexisting site. I am getting the error 'System.Web.UI.WebControls.Literal' does not allow child controls when my web application goes to process a function that implements keywords, description, title ect for a webpage. This is quite perplexing as it i not doing this in the website i duplicated from.
[Code]....
it looks at Header, i dont think it can find the definition in this second website so it is returning System.WEB.UI.EmptyControlCollection. In the first website it is returning System.Web.UI.ControlCollection. Also when I go to the definition for Header, it opens up the Metadata definition in the first website. In the Second, it says "Cannot navigate to definition".
I've built a class that derives from System.Web.UI.WebControl. It basically renders pagination links (same as what you see on top of GridView when enabled) for use above a repeater.I'm creating some anchor tags explicitly inside my nav control obviously, but they don't perform ajax postbacks. My understanding is that ajax requires POSTS to work right? Well, these would be GETs
how can i make hijri calender(arabic one) i prefer using custom control i tried Telerik but it has problem it display monthes in hijri but year still 2010 ,2009 and so on,i aslo want the user to select date (hijri) from calender and can not type on it just select between date and save it in database
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 tried translating this from vb but getting the error on e.Row.DataItem("CustomerID").ToString i tried varios things but no gooddbSrc.SelectCommand = "SELECT * FROM Orders WHERE CustomerID = '" + e.Row.DataItem("CustomerID").ToString + "' ORDER BY OrderDate";
I'm trying to create a few custom web controls wrapping some existing controls. One of them, for instance, is a wrap for a textbox (because I need additional behaviors such as corresponding validators). The problem is, I'm not sure how to get the data of that control to be sent in the postback.
LoginPage.aspx:- protected void Button1_Click(object sender, EventArgs e) { Context.Items["Username"] = txtUserId.Text; Context.Items["Password"] = txtPassword.Text; // FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, Context.Items["Username"].ToString(), DateTime.Now, DateTime.Now.AddMinutes(10), true, "users", FormsAuthentication.FormsCookiePath); // Encrypt the cookie using the machine key for secure transport string hash = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie( FormsAuthentication.FormsCookieName, // Name of auth cookie hash); // Hashed ticket // Set the cookie's expiration time to the tickets expiration time if (ticket.IsPersistent) cookie.Expires = ticket.Expiration; Response.Cookies.Add(cookie); Response.Redirect("Default.aspx"); } Global.asax file:- void Application_AuthenticateRequest(object sender, EventArgs e) { if (HttpContext.Current.User != null) { if (HttpContext.Current.User.Identity.IsAuthenticated) { if (HttpContext.Current.User.Identity is FormsIdentity) { FormsIdentity id = (FormsIdentity)HttpContext.Current.User.Identity; FormsAuthenticationTicket ticket = id.Ticket; // Get the stored user-data, in this case, our roles string userData = ticket.UserData; string[] roles = userData.Split(','); HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id, roles); Response.Write(HttpContext.Current.User.Identity.Name); Response.Redirect("Default.aspx"); } } } }
I get the following error after signing in This webpage has a redirect loop.
The webpage at [URL] has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.
Protected Sub FormView1_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewCommandEventArgs) Handles FormView1.ItemCreated Causes Unable to cast object of type 'System.EventArgs' to type 'System.Web.UI.WebControls.FormViewCommandEventArgs'.
The program (asp.net/vb) works fine with FormView1_ItemCommand and FormView1_ItemInserted events but strangely objects to FormView1_ItemCreated. Is it only a VC# event?
In this case I use a datasource control for a datalist and the parameter list is being built ba the system. The DBType is created for the smalldatetime feild
'm getting the above error on one server (production of course, it's always production). On two other servers and in my local dev server, the exact same code runs fine. I do see the Display property has ThemableAttribute(false) in the documentation, so the fact that it IS working seems to be the anomoly, but how could this be working in 75% of the environments I'm testing in?