Saturday, February 20, 2010

Microsoft Next Generation Bing Map

In a demo that drew gasps at TED2010, Blaise Aguera y Arcas demos new augmented-reality mapping technology from Microsoft.


Monday, December 14, 2009

Pass Javascript value to server side object & Event

Hi Friends

Its is very tuff job to transfer any javascript object to server side (code behind) objects and event by javascript. but .NET Framework 4 make this job very easy you can now pass Javascript from Javascript to code behind file using Ajax.

Passing parameters as primitive type

The easiest and most common way to passing javascript object information to server side method is Send it as individual parameters to the sever side method, please check below code show how to call server side "AddPerson" method with 4 argument

<script language="javascript" type="text/javascript">

var p1 = new Person('Adday', 'Michel','New York', 28);

var a = 0;

function passvalue() {

JavaWebApps.PersonService.AddPerson(p1.firstName,p1.lastName,p1.City,customer.age,function (response) {

});

}

</script>


The Person JavaScript class is a simple class with four properties firstName, lastName,City and age.


function Person(firstName, lastName,City, age) {

this.firstName = firstName;
this.lastName = lastName;
this.City=City;
this.age = age;
}


And code for server side AddPerson Method code

[WebMethod]
public string IAddPerson(string firstName, string lastName, string City, int age) {

return "Person added";
}

Thursday, October 22, 2009

Delete all tables along with Constraint

DECLARE @TableName NVARCHAR(MAX)

DECLARE @ConstraintName NVARCHAR(MAX)

DECLARE Constraints CURSOR FOR

SELECT TABLE_NAME, CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE



OPEN Constraints

FETCH NEXT FROM Constraints INTO @TableName, @ConstraintName



WHILE @@FETCH_STATUS = 0

BEGIN

EXEC('ALTER TABLE [' + @TableName + '] DROP CONSTRAINT [' + @ConstraintName + ']')

FETCH NEXT FROM Constraints INTO @TableName, @ConstraintName

END



CLOSE Constraints

DEALLOCATE Constraints



DECLARE Tables CURSOR FOR

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES



OPEN Tables

FETCH NEXT FROM Tables INTO @TableName



WHILE @@FETCH_STATUS = 0

BEGIN

EXEC('DROP TABLE [' + @TableName + ']')

FETCH NEXT FROM Tables INTO @TableName

END



CLOSE Tables

DEALLOCATE Tables

Monday, August 10, 2009

આ માણસ જાણે મોબાઇલ થઈ ગયો

આ માણસ જાણે મોબાઇલ થઈ ગયો

જરૂર જેટલી જ લાગણીઓ

રિચાર્જ કરતો થઈ ગયો

ખરે ટાણે જ ઝીરો બેલેન્સ

દેખાડતો થઈ ગયો

આ માણસ જાણે મોબાઈલ થઈ ગયો!

સામે કોણ છે એ જોઈને

સંબંધ રિસિવ કરતો થઈ ગયો

સ્વાર્થનાં ચશ્મા પહેરી મિત્રતાને પણ

સ્વીચ ઓફ કરતો થઈ ગયો

આ માણસ જાણે મોબાઈલ થઈ ગયો!

આજે રીટા તો કાલે ગીતા એમ

મોડેલ બદલતો થઈ ગયો

મિસિસને છોડીને મિસને

એ કોલ કરતો થઈ ગયો

આ માણસ જાણે મોબાઈલ થઈ ગયો!

પડોશીનુ ઊંચું મોડેલ જોઈ

જુઓને જીવ બાળતો થઈ ગયો

સાલું, થોડી રાહ જોઈ હોત તો!

એવું ઘરમાં યે કહેતો થઈ ગયો

આ માણસ જાણે મોબાઈલ થઈ ગયો!

હોય બરોડામાં અને છું સુરતમાં

એમ કહેતો એ થઈ ગયો

આજે હચ તો કાલે રિલાયન્સ એમ

ફાયદો જોઈ મિત્રો પણ બદલતો થઈ ગયો

આ માણસ જાણે મોબાઈલ થઈ ગયો!

ઈનકમિંગ – આઉટ ગોઈંગ ફ્રીનાં ચક્કરમાં

કુટુંબનાં જ કવરેજ બહાર એ થઈ ગયો

હવે શું થાય બોલો

મોડેલ ફોર ટુ ઝીરો એ થઈ ગયો

આ માણસ જાણે મોબાઈલ થઈ ગયો!

Swine Flu

Hi Friends

In now days Swine flu is biggest threat spread in every human.So I decide to write this post apart from technical post on .NET framework and VS2008

The following information can be very useful. Also the attached PDF will guide you enough to understand the symptoms and the common mistakes you should avoid to further spread this deadly disease. Take some time and go through the same.

I believe a little awareness always helps. Hope this indeed will.

Cheers,


Swine Flu (H1N1)

With the first swine flu death being recorded in INDIA few days back, it is all the more important to have readily available information regarding the symptoms, prevention and the right place for treatment. This will not only minimize the chances of us contracting it but in case we know someone who has these symptoms we can guide them to the right hospital.

The attached presentation will give you additional details about the swine flu, its symptoms and prevention measures.

As a unified force we can stop the spread of this EPIDEMIC and help cure the affected ones with timely and correct treatment.

Friday, August 7, 2009

Query Hierarchical data Using CTE in T-SQL 2005

this script uses the new CTE feature of SQL Server 2005 to display the hierarchical data all at once. I have added a check to prevent infinite loop in case there is a loop in the data (actually, there is one in the example). But this script has some limitations:

1) The maximum number of childern for a parent is 2^33. But you can enlarge this number by expanding the slots in s column (currently, it's 10 characters wide for each level).

2) The maximum number of levels is 100. This is the limitation of T-SQL.


CREATE TABLE Hierarchy(
Parent VARCHAR(20) NOT NULL,
Child VARCHAR(20),
CONSTRAINT UIX_ParentChild
UNIQUE NONCLUSTERED (Parent,Child)
)
GO
CREATE CLUSTERED INDEX CIX_Parent ON Hierarchy(Parent)
GO
INSERT Hierarchy VALUES('World','Europe')
INSERT Hierarchy VALUES('World','North America')
INSERT Hierarchy VALUES('Europe','France')
INSERT Hierarchy VALUES('France','Paris')
INSERT Hierarchy VALUES('North America','United States')
INSERT Hierarchy VALUES('North America','Canada')
INSERT Hierarchy VALUES('United States','New York')
INSERT Hierarchy VALUES('United States','Washington')
INSERT Hierarchy VALUES('New York','New York City')
INSERT Hierarchy VALUES('Washington','Redmond')
--The following row will generate a loop regarding the 'World'
INSERT Hierarchy VALUES('Redmond', 'World')
GO

Declare @Root nvarchar(100);
Set @Root ='World';
With t as (
Select parent = convert(varchar(20),'--'),
Child = convert(varchar(20),@Root),
L = 0,
S = Convert(varchar(max),'')
union all
select h.*, t.L+1, t.S+ convert(varchar(max),right('0000000000'+convert(varchar, row_number() over (order by h.Parent )),10))
from hierarchy h
join t on h.parent = t.child and h.Child <> @Root
)
Select space(L)+Child, * from t order by s;

Sunday, August 2, 2009

Total solution for PDF(pdfdonkey)

Hi friend this is very small but use full tool which me and my friend wrote for PDF solutions

PDF Donkey is where you can find all solutions related to PDF Utilities.

PDF Donkey can performs following tasks for you.

PDF Splitter/Merger

PDF Encrypter/Decrypter

PDF to Image

Image to PDF

Image Extraction from PDF File.

for download this project visit this web site

http://pdfdonkey.com/products.html

Friday, July 10, 2009

Security Code Review with Microsoft's Code Analysis Tool (CAT.NET)

Microsoft recently released a new build of CAT.NET, the Code Analysis Tool from the Microsoft IT Information Security Tools Team (formerly known as the Connected Information Security Group). This is the same group that works on the AntiXSS Library that I wrote about in "Fighting Cross-Site Scripting with Anti-Cross Site Scripting Library 3.0." The tool is a static analysis tool that performs security reviews on the intermediate language (IL) contained in .NET project binaries. CAT.NET uses tainted data flow analysis, sometimes called tainted-variable analysis. This type of analysis attempts to identify what sources of untrusted inputs could affect trusted parts of an application.

CAT.NET couldn't be easier to use. It is implemented as a Visual Studio add-in that installs a CAT.NET Code Analysis item to the Tools menu. Select that item to open the CAT.NET window, and click the green arrow to start analysis. After several moments (depending, of course, on how large the project is), you get the results. The following image shows the results of running the tool on a single-page website that has some fairly extensive code behind it.

CAT.NET

CAT.NET identified only two potential problems—a redirection vulnerability and a single cross-site scripting possibility. But because the input value from a query string is used extensively in the code, CAT.NET found 36 locations where it could cause a problem.

In a fresh installation of CAT.NET, you get eight rules that define problems that the tool looks for. The rule definitions are transparent, consisting of easily viewed XML files in a set of folders that categorize the tools. The XML defines sources, sinks, and filters. The tool finds security vulnerabilities by tracing a data-flow path from various sources, such as user input and exceptions, to a destination in the list of sinks. It can filter the data flow, in which case the vulnerability is ignored. Each rule lists the sources, sinks, and filters defined in XML files in the \Rules directory where CAT.NET is installed. You can easily add your own rules if you take the time to figure out the proper XML structure.

In my tests, the tool didn't always identify real risks, usually because it wasn't able to get enough code context information to see any mitigations in the code. For example, it flagged my use of a query string variable under the Cross-Site Scripting rule to read data from the database, even though I explicitly and immediately converted the value to an integer before using it. Further, the user is welcome to view any and every record associated with valid integer values. This "problem" repeated throughout the code on one of my pages. Nevertheless, it was good to have that flagged, letting me take a fresh look at the code to reassure myself that it was not a real vulnerability.

CAT.NET doesn't have the prettiest interface, nor is it a particularly fast tool. It is implemented as a dockable window in Visual Studio, but it's a wide, three-paned window that doesn't really work well as anything but a floating window. And text wrapping is ugly. Performance isn't a big issue because you're not likely to use the tool on every build, just at benchmarks during development. But these are minor quibbles; not everything in life needs to be pretty or fast!

It's definitely worthwhile to check out CAT.NET and see what it finds in your code. The results won't be pretty, but if it helps you find just one vulnerability in your code, it's time well spent.

Resources:

You can download the new build of CAT.NET at these URLs:

32-bit version of CAT.NET

64-bit version of CAT.NET

The best place for information about CAT.NET is at Microsoft's Connected Information Security Group's blog. They recently changed URLs, but most of the interesting CAT.NET background posts are at the old address, so check out both:


Reference

Don Kiely

Wednesday, June 17, 2009

Delete all Procedure of Database

Sometimes you need to delete all the stored procedures in database. instead of deleting SPs one by one.
This query generates the drop statements for all the stored procedures.

First, right - click on the query pane and choose "Results to text".

Next, execute this script:

Select 'Drop Procedure ' + name from sys.procedures Where [type] = 'P' and is_ms_shipped = 0 and [name] not like 'sp[_]%diagram%'

What you'll get is a nice list of "Drop Procedure" statements that you can paste into the query editor window and execute.

Friday, April 24, 2009

Use "App_Offline.htm" feature while updating a web site

"App_Offline.htm" feature provides a super convenient way to bring down an ASP.NET application while you updating a lot of content or making big changes to the site where you want to ensure that no users are accessing the application until all changes are done.

The way app_offline.htm works is that you place this file in the root of the application. When ASP.NET sees it, it will shut-down the app-domain for the application and instead send back the contents of the app_offline.htm file in response to all new dynamic requests for the application. When you are done updating the site, just delete the file and it will come back online.

Wednesday, January 7, 2009

Connect Mobile Emulator with Internet

Hi Friends

I am learning window mobile application development. I made one application in which i want to browse some web site.on window mobile device my application work fine but on Emulator it does not work, because whenever emulator launch it is not adopt my computer network setting ( which you can say Microsoft Development team fault ;). so I dig in to mobile emulator setting and find solution by which we can set our computer networking setting to emulator. for that Steps are
  1. First Install Microsoft ActiveSync software according to your Operating System
  2. Run Microsoft ActiveSync Software and browse File >> Connection Settings.
  3. In Connection Setting dialog box select DMA from dorp down display below Allow connection to one of the following
  4. Open Device Emulator Manager from Visual studio
  5. Right click on emulator and select connect option
  6. Once emulator running again right click on emulator and cardle the device

If you see nothing happened to your Windows Mobile Device Center, it doesn’t mean you missed some steps from the above. It happened only because the Device Emulator 1.0 is the one comes with Visual Studio 2005 has this cradle problem on Windows Vista.

The solution is to download Microsoft Device Emulator 2.0 and by installing 2.0, it will replace the old one. Read this note from its download page: “DeviceEmulator 2.0 has taken a few design changes to work with the Windows Vista operating system that enables the emulator to be cradled using the Windows Mobile Device Center”.

Thanks

Abhishek Hingu

Friday, January 2, 2009

Getting run time error message "The database file has been created earlier version of Sql Server compact."

Problem

When running samples/demos of the Sync Services intended for SQL Server CE 3.5 Beta 2 you receive the following message:
"The database file has been created by an earlier version of SQL Server Compact. Please upgrade using SqlCeEngine.Upgrade() method"
Cause

The reference in your project to the System.Data.SqlServerCe assembly is pointing to an older version of the file. This may occur if you already have Visual Studio 2005 installed on your PC.

Solution
In the Visual Studio project, ensure the file path of the System.Data.SqlServerCe reference points to the correct version – in this case SQL Server CE 3.5 Beta 2 (Desktop):
C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Desktop\System.Data.SqlServerCe.dll

An example of an incorrect file reference for SQL Server CE 3.5 Beta 2 is as follows:
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\System.Data.SqlServerCe.dll

Wednesday, December 31, 2008

Ajax application Security

Ajax is not issue about application security but application programming model dose make application vulnerability more porous as per software engineering.JavaScript-powered client-server interactions do enlarge the attack surface.

Ajax application security issue can be address by take care in desiging of application architechture.Here I will going to introduce that thing which can resolve the Ajax application security problem.

SQL Injection : In these attacks, hackers first research common SQL error messages to find vulnerable pages and then modify Select statements to, for example, use a simple TextBox to gain access to a database. Ajax complicates matters because it makes it possible to write SQL expressions on the client side.

Tips to prevent this kind of attacke are:
  1. Use CustomErrors pages in the WebConfig file to prevent attackers from identifying an application's particular vulnerability.
  2. Use Stored procedures or parameterized SQL queries instead of dynamically created SQL queries.
  3. Perform input validation on the server side, not through JavaScript.
  4. Use the Least Privileges account for your database and do not allow access to system data. This builds on the notion that security should be implemented in single layers, Software Engineering stated: "You don't want them to be able to thwart one and then get to the data."

Information Leakage : If the JavaScript APIs that power an Ajax application are not properly secured, hackers can use application workflow data exposed on the client side to piece together server-side services. The best way to protect against this, not surprisingly, is to keep security validation on the server side. The only validation that should occur on the client side is that which defines the user experience

Cross site Scripting : In these attacks, hackers foist malicious JavaScript onto unsuspecting users. This tends to happen on Web sites featuring a simple TextBox and a button click that encapsulates text. Instead of, say, posting a comment in a forum, hackers will use this TextBox to put in a script tag to transfer large sums of money from your bank account to theirs. Ajax, as you might expect, leaves more APIs open than does a traditional Web application.

To Protect against Cross-site-scripting I would urge you to do your own validation to make sure you're not allowing this type of input." To best accomplish this, he recommended the use of a white list, which specifically states only the characters that a user is allowed to type in the TextBox. Make sure this list does not include script tags or HTML code.

Cross-Site Request Forging: These attacks use malicious image tags in emails and leverage browser cookies. The image acts as a placeholder for what is really a query string to make that aforementioned money transfer. Once that page loads, the image request triggers an HTTP GET action, and cookies are passed along with it. "The variables coming in from the query string look exactly the same as a post. It's using that cookie that's stored on your computer, and your information, to make that query work,"
Protecting against
cross-site request forging involves three best practices, he continued. The first is to use HTTP POST data as opposed to HTTP GET data; the latter can be used for retrieving data, but it should not be used for performing any sort of action using that data. The second is to use one-time, per-token requests. The third is to stand up to nagging end users and stop using persistent cookies for authentication -- especially if sensitive data sits behind a log-in screen.
JavaScript Hijacking: This variation of cross-site request forging, which thanks to ASP.NET and IIS authentication does not occur in Internet Explorer, sets script tags to a particular URL that, when HTTP GET is passed, will return a
JSON-formatted string. From there, the hacker modifies the object prototype to peer into JSON values when they are created. In addition to using the HTTP POST protocol, Lombardo said the best way to protect against JavaScript hijacking is to encode JSON strings on the server side, not the client side.
Lombardo offered two tidbits of advice that were not covered in his discussions of the five common Ajax security vulnerabilities.
First, he recommended removing the
WSDL from Web services, as this only gives hackers information about an application that they otherwise would not be able to determine.

Second, he said it is a good idea to place WebMethods and WebServices in separate classes.

Thanks & Regards

Abhishek Hingu

Sr. Software Eng.

Indianic Infotech Pvt Ltd

Tuesday, December 9, 2008

Window Azure - Code name - Astoria

I am waiting from long time and inssite that Microsoft release ADO.NET Data Service in Window Azure platform. but in last week microsoft announce Code name called Aestoria which end my waiting

The first version of the ADO.NET Data Services Framework (a.k.a. Project "Astoria") introduced a way of creating and consuming flexible, data-centric REST services. In this incubation project, we are now working on creating an end-to-end story for taking data services offline using synchronization. By integrating data services with the Microsoft Sync Framework, we will enable developers to create offline-capable applications that have a local replica of their data, synchronize that replica with an online data service when a network connection becomes available, and use replicas with the ADO.NET Entity Framework for regular data access.

Whats is Astoria?
The ADO.NET Data Services framework provides a common set of conventions for exposing, accessing and manipulating data across data-centric services using internet friendly protocols and message formats.
As online, data-centric, services have becoming increasingly prevelant, so have the scenarios within which we wish to make use of these services and the data that they provide. Consumers are no longer satisfied being able to only access their data when connected to the internet. Service providers would like to provide the option for consumers to be able to synchronize with the data they expose, for example to enable offline access when the user is temporarily disconnected from the internet.
Astoria Offline strives to enable developers to create offline-capable applications that have a local replica of their data, synchronize that replica with an online data service when a network connection becomes available, and use those replicas with the ADO.NET Entity Framework for regular data access.

Monday, December 1, 2008

Cloud Computing - Window Azure Platform

Every body is talking about Azure - Microsoft's Operating System for the cloud. How can i not write something about it? After all i was there during the unveiling of this paradigm changing strategy was done by Ray Ozzie at PDC. Read the transcript of Ray Ozzie’s keynote or watch the video to know more.
So what is all this about? Azure, Cloud OS, .NET Services, Live Services and tons of other stuff? Let me try and paint the picture.
Let's first look into what is an Operating System (OS) all about? If anyone who is reading this post is old enough to remember the days when you have microprocessor devices without any operating system on them you will understand how the OSes have changed the world of computing - how they have made computing so much more accessible and useable by the common man. Let’s imagine what would a device without an operating system be like? Suppose you had to just copy a file from one location to the other. You would potentially have to do one or more of the following things. write a program in the instruction code of that particular processor that would instruct it to first 'mount' the source drive (assuming that the source hardware is plugged and understandable by the processor), 'mount' the target drive, tell the processor where is the beginning of the source file (location of the sector, block etc) and tell it the location where it should begin writing on the target, tell it the memory location where it will keep the read contents temporarily and its size, and then issue the machine instruction equivalent to writing the bits on the drive. It could be fairly more complex than this. Today we hardly recognize the complexity of all this when we issue the "copy" command or "drag and drop" the file from an usb drive to the hard drive. Why? Because the OS abstracts all this complexity for you! Disk Operating Systems were an important phase in the evolution of OSes - meant to abstract the complexity of creating, copying, deleting, managing files and disk input outputs in general they soon evolved into more complex and capable systems - managing other peripherals, memory, applications, drivers, etc for you and giving you an easy to use interface where in you can focus on working on your problems (be it writing code, word processing, data analysis) rather than having to deal with the internals of the machine or the processor. OSes laid the foundation of the rapid evolution of computing allowing a common person to use computers and get benefit out of it.
This is something that an OS running on our personal computers does. The common tasks that we expect a PC OS to perform include - managing memory, disks, peripherals, display, user interface, runtimes of software etc... Lets now take a step back and imagine if you were to build an OS that would run on a remote machine, which would be accessible to anyone in the world, allowing you to put your applications on it, run them, make it available to anyone in the world - what would be functions that would be expected from such an OS? What modules would it need to take care of all the possibilities and the scenarios that arise in the cloud so that is minimizes the complexity for the end user in the same way that the PC OSes have done? To bring the problem closer to a real scenario - lets add one more level of complexity - since it is not possible to have one big computer with enough computing resources and memory to address the needs of everybody in this world - it is obvious that the remote machine would actually be a complex cluster of thousands of machines/servers, raid drives and other resources. Now this OS that you are embarking to build would in effect be a sort of a mega-OS, an OS to manage thousands of OSes running on these thousands of machines (also in a virtualized environment). So what would be expected out of this mega-OS? Apart from all of the functionality that is provided by a common OS - it would need to make sure that if there is a failure of any of the OSes running on any of the machines, or if any of the machines goes down, or if the resources on any of the machine is falling short of requirement, or if new machines/OSes are added or pretty much anything to manage the possibilities in this huge cluster of machines that would almost be like a black box to the end user. To add to it - managing multiple users, their identity, their data, transactions, maintaining throughput etc...
This is exactly what Microsoft's OS in the cloud - Azure is all about. Azure is an Operating System that runs on the a huge cluster of servers located in multiple places across the world and is exposed to the users by way of various services (.NET Services, Live Services, SQL Services, Sharepoint Services, Dynamic CRM services) - such that they no longer have to worry about hardware, memory, load, electricity bills of data centers, maintenance, replacement, scaling the hardware and resources as their business grows etc. All they have to do is build their applications for Azure (almost in the same way as they did for Windows running on their customer's box with the additional task of keeping in mind the best practices and patterns for building effective and efficient cloud applications) and host them on the Microsoft data center running on Azure. Azure in the background will take care of ALL the underlying complexities of deploying it on one or more machines, load balancing, recovery form failure, guaranteed availability and other issues that are relevant to the cloud making your application immediately available to millions of Internet users.
Remember the impact that .NET had on the way we develop applications for the Internet? Imagine writing a webservice in native code, deploying it and testing it. Compare it to doing the same thing in .NET. I believe Azure is going to bring the same kind of revolution in the world of computing. The ease with which you can develop an application using traditional programming knowledge and tools like Visual Studio and host them in the cloud running on Azure and forget about the rest is simply phenomenal and anybody who has an eye on the future cannot ignore this.
This was a post intended as a primer into Azure. In the subsequent posts I plan to delve deeper into architecture of Azure, tools for Azure development and building your first Azure application. Keep a watch…and if I do not post soon…leave messages to force me to do so..:)

Microsoft Azure .NET & SQL Service Development at:
http://www.indianic.com/window-azure-development.html

Wednesday, November 26, 2008

New ASP.NET Chart Control

Microsoft recently released a cool new ASP.NET server control - - that can be used for free with ASP.NET 3.5 to enable rich browser-based charting scenarios:


To use this new & cool asp.net chart control you need .NET Freamwork 3.5 SP1 installed in your desktop .

Available downloads are




  1. Download Microsoft Chart Controls

  2. Download VS2008 tool support for Chart Controls

  3. Download Microsoft Chart Control Samples

  4. Download Microsoft Chart Controls Documentation

Once installed chart controls() easily find under "Data" tab in VS2008 toolbox, and you can easily decalred a new chart control in asp.net page like another Web Controls of asp.net





supports a rich assortment of chart options - including pie, area, range, point, circular, accumulation, data distribution, ajax interactive, doughnut, and more. You can statically declare chart data within the control declaration, or alternatively use data-binding to populate it dynamically. At runtime the server control generates an image (for example a .PNG file) that is referenced from the client HTML of the page using a element output by the control. The server control supports the ability to cache the chart image, as well as save it on disk for persistent scenarios. It does not require any other server software to be installed, and will work with any standard ASP.NET page.


To get a sense of how to use the control I recommend downloading the Microsoft Chart Controls Sample Project. This includes over 200 ASP.NET sample pages that you can run locally. Just open the web project in VS 2008 and hit run to see them in action - you can then open the .aspx source of each to see how they are implemented.






The below example (under Chart Types->Line Charts->3D Line and Curve Charts) demonstrates how to perform Line, Spline and StepLine charting:


The below example (under Chart Types->Pie and Doughnut Charts) demonstrates a variety of pie and 3D doughnut options:

for more help visit Microsoft Chart Controls forums at Chart Controls Forum

Friday, June 20, 2008