C# - A Generic DropDown Implemented By ControlBuilder Lost All Attributes
Sep 10, 2010
Here I have a code using ControlBuilder to make DropDown control generic.
[ControlBuilder(typeof(EnumDropDownControlBuilder))]
public class EnumDropDown : DropDownList {
private string _enumType;
private bool _allowEmpty;
public string EnumType {
get { return _EnumType; }
set { _EnumType = value; }
}
public bool AllowEmpty {
get { return _allowEmpty; }
set { _allowEmpty= value; }
}
}
public class EnumDropDown<T> : EnumDropDown where T : struct {
public EnumDropDown() {
this.Items.Clear();
if (AllowEmpty) this.Items.Add(new ListItem("", "__EMPTY__"));
foreach (string name in Enum.GetNames(typeof(T))) {
Items.Add(name);
}
}
public new T SelectedValue {
get {
if (IsEmpty) throw new NullReferenceException();
return (T)Enum.Parse(typeof(T), base.SelectedValue, true);
}
set { base.SelectedValue = Enum.GetName(typeof(T), value); }
}
public bool IsEmpty {
get {
return base.SelectedValue == "__EMPTY__";
}
set { base.SelectedValue = Enum.GetName(typeof(T), value); }
}
}
public class EnumDropDownControlBuilder : ControlBuilder {
public override void Init(TemplateParser parser, ControlBuilder parentBuilder, Type type, string tagName, string id, IDictionary attribs) {
string enumTypeName = (string)attribs["EnumType"];
Type enumType = Type.GetType(enumTypeName);
if (enumType == null) {
throw new Exception(string.Format("{0} cannot be found or is not an enumeration", enumTypeName));
}
Type dropDownType = typeof(EnumDropDown<>).MakeGenericType(enumType);
base.Init(parser, parentBuilder, dropDownType, tagName, id, attribs);
}
}
Sorry the program is too long to read cheerfully. The question is, although I defined property EnumType, AllowEmpty in class EnumDropDown. Since the real object created by ControlBuilder is EnumDropDown, values of EnumType, AllowEmpty are always null and false in control object. All attributes set in .aspx will be lost! I can read attribute values of source tag in ControlBuilder. But I have no any idea how can I copy the attributes to the generic control object.
View 1 Replies
Similar Messages:
Feb 13, 2010
I have color attributes set to some items in dropdownlist on Page Load.
Dim li As New ListItem("heading" , "0"))
li.Attributes.Add("style", "font-weight:bold")
however, it loses after Post Back, ie., on SelectedIndexChanged event.
View 1 Replies
Oct 12, 2010
how can DropDownList attributes be persisted accross page Postbacks?
Example:
DropdownList1.AutoPostBack = True
DropdownList1.items(0).Attributes.Add("Attribute1","somevalue")
On Postback the attribute is no longer available (ie. attributes.count=0).
I tried persisting using the code below, but was unsuccessful:
Before PostBack: ViewState.Add("DDL","DropdownList1")
On PostBack: DropdownList1 = ViewState("DDL")
This generated the error: DropDownlist is not marked as serializable.
I than tried:
Before PostBack: Session.Add("DDL","DropdownList1")
On PostBack: DropdownList1 = Session("DDL")
This did not err but attributes were still not available.
View 4 Replies
Jul 23, 2010
I have a web form with a whole bunch of drop down lists (mainly) that works perfectly well and has been for some time. However, we've found a scenario that seems to corrupt the viewstate of this form in someway, or cause it to lose it's viewstate. The problem occurs when the user has this form displayed, then clicks on a link that opens up another window. A few more steps to open up a second and third window, followed by a write to the database. Then the user closes these windows down, leaving this original window open. At this point, the user selects something from one of the dropdowns. And the app crashes because the dropdowns have lost all of their values (and so a bit of code that is trying to work with one of the ddl's selectedvalues fails).
When the user selects this dropdown, the page_init event fires, followed by the page_load with postback = true. The dropdowns themselves are defined in the aspx page markup, but the values of them are generated and added in page_load (where postback = false). I've relocated the code to populate these controls to the page_init code and now the app doesn't fall over, because the values are re-populated. However, all of the selectedindexes are being reset, so the original values are lost and the screen redraws after this postback with all of the dropdowns reset.
View 1 Replies
Feb 18, 2011
I have been facing this problem for a while now, what I exactly want to do is ->
I have a 3- Tier Application. For a table (say Employee) I have following classes in my BLL and DAL
1. Employee.cs (Contains database fields as properties)
2. EmployeeKeys.cs
3. EmployeeFactory.cs (Main BLL which make call to DAL method)
4. EmployeeDAL.cs (The DAL)
Suppose I have 6 columns in Employee table.
I know that the DAL returns List<Employee> to the BLL and then the BLL in turn gives me the Employee fields.
I have no problem accesing it.
But suppose I have a dropdownlist control and wish to bind EmplyeeName and EmployeeId with the Dropdown.
Is there any way that I can implement that my DAL returns a Generic list containing only the two fields required to bind the Dropdown.
In short i want my list to return only 2 columns, not all the 6 like the List<Employee>
How do i implement this???
Do I need to create a custom List<CustomEmployeeData>, if so how can i implement it in the 3 tier application.
Basically i m looking to increase the efficiency by getting less data from database. Am i on the right track????
View 2 Replies
Aug 10, 2010
I am using the following XML structure
<SERVERS>
<SERVER NAME="A1" ID="1"></SERVER>
<SERVER NAME="A2"></SERVER>
<SERVER NAME="A3" ID="3" Parent="XYZ"></SERVER>
<SERVER NAME="A4" ID="4"></SERVER>
<SERVER NAME="A5" Parent="abc" value="10"></SERVER>
<SERVER NAME="A6"></SERVER>
</SERVERS>
I am accessing this xml file by using LINQ to XML in asp.net by using C#. I am able to access all the attributes of an XML node by explicitly specifying the name of the attribute. I want to write query on this xml file which reads all the attribute values of the xml node (In our example the node is SERVER) dynamically means I want to write the query which can read the read the value of the attribute Name & ID from first node, only name from second row, Name, ID & Parent from the third row , Name & ID from the fourth row, Name, Parent & Value from the fifth row & only Name from the sixth row without modifying the existing code every time. Once I add one of the attribute ( for example if I add the attribute ID in the sixth row ) in the above xml file then I dont need to modify my LINQ to XML query. My query should dynamically fetch the total number of attributes & display their values. Is their any way to do this ?
View 2 Replies
Nov 25, 2010
I'm trying to create a control out of a class I found, and one of the overridden functions is the following:
protected override void PerformDataBinding(IEnumerable data)
However, when I try to build the control I'm getting the error as shown in the subject. I've tried searching, and it seems the signature for the original function matches the one I have, and all other solutions I've seen uses the same signature.
View 3 Replies
Oct 30, 2010
What is the difference between generic and non-generic collection?
View 1 Replies
Jul 11, 2010
I was wondering if there's anybody that can give me an idea how the component Calendar (even button) is implemented. Do you know a place where I could see it?
View 1 Replies
Sep 9, 2010
I have own control implemented in "CommonControls" assembly (the same namespace). It us 'Custom control' inherited from 'WebControl' class and implemented without ascx file.
It is necessary to use this control in "main" web site. how to register this control?
I know it should be something like this:
<%@ Register Assembly="CommonControls" Namespace="CommonControls"
TagPrefix="uc" TagName="TopMenuControl" Src="..." %>
But what should I specify in the "Src" property?
View 1 Replies
Jan 8, 2010
Whenever I try to use the Website Administration Tool i get an error messege stating:
error invoking ad&minister website.
Details: The method or operation is not implemented.
How can I fix this?
View 4 Replies
Mar 11, 2011
I have just been dabbling in MVC over the last couple of weeks. Knew I wanted to go in this direction but have been putting it off due to comfort/familiarity with webforms. Also knew that with my first MVC site I wanted it to support mobile devices. One of the first tutorials I saw implemented an Area for mobile support. I started that way as well.
Since I want to get off on the proper footing here I guess I'd like to ask you guys. What would the best practice be? Is it just a matter of preference? Are there any specific pros or cons to using or not using Areas when it comes to support for mobile devices?
View 1 Replies
Mar 22, 2011
suggest me a good design pattern for implmenting the following? I have an object say myObject. This myObject is created using few inputs from the UI. After the creation of myObject. This object will be passed to few methods.. like method1(myObject);
method2(myObject);... method5(myObject);etc. Each methods will prepare the input for successive methods call. For example method1(myObject) will set the values necessary for the operation of method2.Then method2(myObject) will set up the values necessary for the operation of method3 and so on..Same object is used as the argument for every method calls.Which design pattern can be implemented?
View 2 Replies
Jan 18, 2011
I want to implement a restful service in ASP.NET. I want it to be compatible with .Net 2.0 and IIS 5+. I am constrained to not use ASP.NET MVC or REST starter kit. By reading on internet I have learned that it can be implemented using HTTPHandlers. The problem is, the request will come in as a POST request. And I want to URL to be like:
http://abc.com/MyService/MyMethod1/
and
http://abc.com/MyService/MyMethod2/
View 3 Replies
Jun 1, 2010
I tried to figure out NHibernate (a first) First went through chapter 23 in Asp.Net MVC in Action 2, and read some articles to get the drift.
Then I modified the sample in the above book to work with my own database and my own table. Finally got that working. (Started messing with this yesterday afternoon....it's 7:30 AM, so .... I'm tired...)
Then I worked this into my own project (the shared mvc template some of you might have looked at).
Now my application became completely unstable. Sometimes it work, but other times it bombs out where my controller factory (Castle) set the component lifestyles:
[Code]....
Each time with some LoaderException that read like {"Could not load file or assembly 'Castle.Core, Version=1.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"Castle.Core, Version=1.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc"}
Man I fiddled all over the place, having xcopy copy dll's (see krok.web properties got a post build event) and many other things I that does not really make sense.
And from the darned instructions, having all your dll's in a folder which get copied out to the web project's bin folder and dont know what else.
Seriously...if someone can download this and have a look (better not if you dont know Castle Windsor and NHibernate)
View 3 Replies
May 17, 2010
I am having troubles understanding the purposes of using Factory pattern, I understand Factory pattern uses Factory class that has methods to return concrete objects. But why don't I simply use new opertor to create concrete objects? Some articles suggest Factory methods could return objects of different concreate classes, I can do the same thing by using switch statement.
Also are there classes in .Net framework already implementing Factory pattern? I think that will give me a better ideas why it is useful.
View 5 Replies
Apr 28, 2010
I have been asked to join a very small team where one main developer has been buiding the web app (.NET 4.0) during ~6 months. The project should be delivered within next 2 months.
After first look at the code I can say that I would never allow it to go to production (things like catch { }, no tests at all with WebForms etc).
So the code quality is incredibly low.
My task is to improve that and still deliver the solution. So I plan to start with unit testing and MVC2 reimplementing most of the functionality (though using some of the existing code).
I estimate that I will need about 6 weeks to catch up with the current progress and be on te same functionality level as the application will be in 6 weeks.
The problem is that the main developer who has been working on the project seems to be really starting in IT and many basic things are unknown to him. It will take significant amount of time and effort to educate him how to do the proper testing, development and apply some patterns.
I am ready to take responsibility for the reimplemnting the application but at the same time I don't want the main developer to be on idle but as he won't be able to significantly contribute to the better-world project at this stage I am not sure what would the best way to keep productivity high for both of us.
Currently I think following solution is good enough: He proceeds doing what he does until I will catch up with him and then start working on a new project together.
The problem is that of course this approach is not very productive as one developer will do better-world project while the other will proceed with what he did, effectively doing similar tasks.
Another approach would be to pair and try to do things together, but again not sure how productive we will be.
Can you suggest how we could better organise the work together in order to be most efficient for the overall project?
View 3 Replies
Feb 8, 2010
rapidshare,hotfile and many site they restric user to download more than one file at a time. what is their concept and how can i implement this concept by asp.net
View 1 Replies
Dec 13, 2010
I am working on a asp.net reporting project using crystal reports. I am a little new to working on making the project dynamic or reducing down code.
I have many aspx pages which are using the same logic of collecting input from textboxes and inputing to business logic layer.
I was thinking if someone can suggest me inheritance and interface/abstract method to be implemented on muliple aspx pages?
View 9 Replies
Jan 23, 2011
used the built-in Membership framework and has implemented his own provider by creating a class that inherits from MembershipProvider (found in System.Web.Security). I actually went ahead and created a custom provider which inherits from MembershipProvider. The problem is that there are several methods I do not really need. Also, the schema is totally different. Plus, most methods return a MembershipUser which means my User class has to inherit from it as well. So really, what benefits does the MembershipProvider and the whole Membership framework add to my system? Do these benefits justify the fact that I won't be using most of the methods on the class?
View 7 Replies
Mar 16, 2011
My development environment: VS2010, win7. My regular solution setup for authoring a custom control is a Website project which I use for testing purposes and an ASP.NET server control project which is the actual control. Sometimes when I make changes to the custom control project and rebuild the solution the changes I made to the custom control are not shown/implemented when control is used in my testing project so I MUST close the solution and reopen it in order for my changes to appear.
View 1 Replies
Feb 9, 2011
<Application architecture>I'm developing ASP.NET Web Application by Visual Studio 2008.(.Net Framework Version = 2.0)I put followin two projetcs in the solution.a. Class library which implements all the buisiness logic for application.
(I'll call it "ClassLib" in the followin sentence)b. ASP.NET Web applicatoin which presents UI.(I'll call it "WebApp")ClassLib uses Web Service which located on other server. So, I set web reference in it. Method for url settings for this web reference is "Dynamic".
View 1 Replies
Jan 3, 2010
I have an asp.net web application. When I try to export a report via crystal report I get following error :Error in File C:DOCUME~1UserLOCALS~1TempMainReport {7F8A9E9E-DD47-4D17-A44D-68D9478A792C}.rpt: Operation not yet implemented.I use this code to export report :
ReportDocument reportDocument = reportSource.ReportDocument;
reportDocument.SetDataSource(dt);
Response.ClearContent();
Response.ClearHeaders();
reportDocument.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "Report");
View 1 Replies
Sep 8, 2010
Does anyone know how to do this so when I select something the 1st dropdown and the 2nd one becomes visible and populates list from a Select statement. I really need help on how to do in an aspx and not on the code behind page.
View 12 Replies
Jun 12, 2010
I Have the gridview control with 2 dropdown list and 2 text boxes,When the textbox chnaged event happen 1 row will create and the dropdown back to initial values( its not retaining the selected values),I am binding the control after text changed method,Is there any properties needs to be set or any other way we can retain the values in postbacks?
View 4 Replies