C# - Create Method To Handle Multiple Types Of Controls
Mar 30, 2010
I am trying to create a method that accepts multiple types of controls - in this case Labels and Panels. The conversion does not work because IConvertible doesn't convert these Types.
public void LocationsLink<C>(C control)
{
if (control != null)
{
WebControl ctl = (WebControl)Convert.ChangeType(control, typeof(WebControl));
Literal txt = new Literal();
HyperLink lnk = new HyperLink();
txt.Text = "If you prefer a map to the nearest facility please ";
lnk.Text = "click here";
lnk.NavigateUrl = "/content/Locations.aspx";
ctl.Controls.Add(txt);
ctl.Controls.Add(lnk);
}
}
I have two methods that do the similar thing. There are small differences here and there, which I can control by passing arguments to them when I call them, so I can effectively merge them. However one returns a string, and the other one an ArrayList. On the top of my head, I could merge them and return an Object, and then get the information I need. Is there a way though to return multiple types in the method's signature? What's the proper way to implement this?
I have a bit of code in a clickevent handler like this:-
Dim products = From p In db.Products where p.product_name = "Tool" Select New With {p.Product_ID,p.Product_name} Gridview1.Datasource = products GridView1.Databind()
But causes error=SQL Server does not handle comparison of NText, Text, Xml, or Image data types?
I have seen 2 methods to handle error in project. One is using try catch in every method and another is using custom page and error log file .I know both method. Which one is the best method?
[Code].... When i debug i get an error that says: 'System.Data.DataRowView' does not contain a property with the name 'job_id'and sometimes 'System.Data.DataRowView' does not contain a property with the name 'pub_id'I need to get the appropriate value for the selected row. GridView only output Jobs results or Publishers results, the problem is when the user clicks select button beside the record, i get the error i mentioned above.
If I'm returning an object, then it's pretty straight-forward. However, if I'm just trying to return whether or not the method was successful or not, what's the best option? Sure ... bool seems obvious - but what if you need to debug or get some additional details out of the method than just "yes/no"? Well that's where a string becomes more obvious, right? You can leave it empty to say that the method was successful or chock it full of details in the case of an error. But this can make it less intuitive to others who may have to run your functions and it also jumbles up everything you wanted to pass back into one large string.
I have .aspx page methods with return type of string, which work great. I am using some jQuery ajax, and some .NET Ajax "PageMethods.methodName" syntax from the client side to successfully call these page methods. I need to return xml from a page method.... I would LOVE to be able to return system.Xml.Linq.XElement type from page method. I get a serialization circular reference error when I attempt to return XElement or XDocument. I don't really want to return XML.ToString() to client, and then convert string to xml in javascript. What return page method return type(s) would allow me to retrieve xml with jQuery ajax call? I know json is the alternative, but will not give me what I need this time.
I'm creating a site that will offer several different services (blogs, videos, images..), all under the same site.
Each service will use a separate database and all services must use the same membeship info. Users will only need one login to access all these services.
For the membership database i will use the default aspnetdb database.
There are two ways i can think of:
1) Use a join-query between two databases, each time i want to show some service records per user.
2) Create a custom membership-info table in each service's database, and keep it in sync with the master membership table in aspnetdb database.
I am trying to design my logic to do this but I want to create a dataSet which will have records from several databases, The records all have the same layout.
I am reagin the connection string paths from a table in a database.
I am asking for your help in trying figure out my logic.
Should I use the connectionString builder in conjunction with a loop to Connect, read a record into a dataset Until therer are no more records to be read from my databse table with the database name/paths tables ?
Here is my beginning code which deals with one database:
Reporting system has list of available reports on a web page. When user clicks on a report new browser window opens, server starts to prepare report (winword document) and then sends it back after 2-10 seconds.
I need help writing a class that will contain three values per item. I'll be passing parameters to a report: Parameter Name, Data type (int, string, date, etc), and Value. When I pass those values to the report using the class they should be in original form (i.e. an integer should be a numeric, a string should be a string, etc.).
I can do it converting the data's value to strings on one end, and reconverting to the original data type on the other, which seems like a lot of runaround. Is there a simple way? Also, if I'm able to store & retrieve the data in it's native format I don't need the "Data type" stored.
I m Using a GridView: Columns: "Ser_type" tells what type of data is it i.e. VC for Varchar, NU for Numeric, DT for DateTime etc, for the time being i m using datavalidation controlls at design time. this is not a good approach. I just wan to do is that, DataValidationControlls should be created at RunTime and TextBox should validate data at runtime only. i.e. if Data required in the TextBox is of Type VC then it should validate only at runtime, if DT then validate DateTime only at Runtime similarly for all dataType:
What do you think about an ability of having multiple logins and login types to be attached to the same user? Let me explain this by showing how database schema can be re-factored to support this model:
Remove [Password], [PasswordSalt] columns from [Users] database tableAdd [Logins] table with one-to-many relationship between [Users] and [Logins] tables.This will allow one user to have multiple credentials attached to his or her account of different types such as Username&Password, Windows Live ID, Open ID from different providers
You will be able to restrict allowed login types and OpenID providers in web.config
So.. do you think it is a good idea to add support of this model into ASP.NET 4.5/5.0 membership service?
I need to create different page views for different types of users. I already asked that here: How to create pages with different permissions' views And even though Aldeel's answer works, it does not seem the best solution for me. I'll explain why. I need to show different views but it's not only like that. Each user can have access to different parts of the page.
Imagine a page 'X' with this structure
Field A Field B Field C Field D
When user U1 from group G1 visit page X the system checks the DB for that group's permission on page X. User U1 can see Field A and Field B, but only edit Field A. User U2 that is set to no group visits page X. The system checks for his permissions on page X. User U2 can see and edit all fields. When user U3 from group G2 visit page X the system checks the DB for that group's permission on page X. User U3 can see Field C and Field D, but can not edit any.
I coudn't find a way to do that instead of filling ViewData with lots of data about that specific user's permission. In my example there are only 4 fields, but in my current project I have no screen with less than 20 fields. So I guess you can see how ugly and not productive that is. The idea is similar to a social network, as I said (facebook example). When a user visiting UserX's page can only see what UserX has allowed him to.
I understand the need for a function like DB_Get_Cached("sql string") that hashes the SQL in order to perform a lookup in memcached for the existence of the data.
function DB_Get_Cached(string SQL) data = memcache_get_data(md5(SQL)) if (!data) return DB_Get(SQL) end if end function
What is a good method to expand this to handle data invalidation or timeout?
I'm thinking in terms of product pages in an e-commerce site, or user details in their profile.
I'm designing a page which makes an ajax call (via jQuery.ajax) to a page method on the server side.On the server side, I have two classes: Agent and Channel.
In the page method, I'd like to return a List<Agent> and a List<Channel> to the client side. How can I return two lists to client side? should wrap them up in one class like:
So, I have a button that populates a datagridview and shows it to the user. What I'd like to do is show a popup from this button just after it's done with the server logic. How can I do that.
I have an application that allows admins to add types such as document types and training types that are in seperate tables with a foreign key in a transaction table.
When structuring my class I decided to go with an abstract-like pattern (without the factory methods though). So I have a Type abstract class that defines my Save, Delete, and GetList methods. I have a training type class that inherits this class. The thing is all types have 3 main properties - defined in the abstract base - but have different source tables and thus different store procedures in my DbCommand object. So basically I repeat setting up the same parameters on all the derived classes. I would like to implement the common stuff in the base but I am getting thrown off by the difference in data sources.
i am working on web application the problem i m facing is that if a user access saleorder form i goto database and get Max SID from saleorder table and increment in it, and when user finish i sent this id Saleorder table and other info as well as same SID to other 2 tables but the problem is that if multiple users access at samee time how can i manage SID there wil be id conflict as SID is PK in SaleOrder and FK in other two tables
Like most web applications you have a method that gets called when you log in. There are a few things that may need to get done when logged in and over time this may increase. eg. logging, welcome emails, maintenance. Should events be used to do this or is there a better way?? I'm using C# and ASP.net MVC. Update This is already in its on Service Layer class. eg.
public void Login(User user) { SetAuthCookie(user); LogLogin(user, true); SendEmails(); }
In my aspx registration page i have more then 6 item available in my list box, I am allowing multiple selection on it..I am not sure about how many items i will select each and every time. then how i have to store it into dataset and how to pass it as a mysql paramter...
Is it possible to have one asp.net web application that handles requests from two domains via asp.net routing? I need one TLD domain per language version pointing to the same app.
How to set up a route that recognize, if the request is coming from domain1.de or domain2.com? How to configure the domains DNS for this to work?