Friday, February 17, 2012

Add Twitter and Facebook like Social Sites link to ASP.NET WebSite

Hi All,
      This is my first post of the year 2012.
I came across one requirement in my recent project in which where i do have to add two share buttons for two most popular social networking sites Facebook and Twitter.

I found this HTML code to be placed in any asp.net site . Below is the code:

<a href="http://twitter.com/home?status=" target="_blank" onclick="window.open(this.href, this.target,'height=500px,width=400px'); return false">

  <img src="Images/twitter.png" alt="Share on Twitter" />

a>

<a href="http://www.facebook.com/connect/prompt_feed.php?&message=" target="_blank" onclick="window.open(this.href, this.target,'height=500px,width=400px'); return false">
  
<img src="Images/facebook.png" alt="Share on Twitter" />

a>




Thats it...and  you are ready with the share button.

Below is the snapshot of  the rendered page after click on facebook and twitter image link.

Clicking on Twitter image opens the below page as a pop up:


Clicking on Facebook image opens the below page as a pop up:





This is for sharing your own  on these two networking sites but not shareing the link or any other outside matter.


Thanks,
Nitin Sharma

Happy Coding..!!!





Tuesday, December 6, 2011

Machine Key Generator for Encrypted PasswordFormat in ASP.NET Membeship

Hello Techies,
   Here i found a MachineKey Generator ( generated in XML  tag ) , which generates your machine key that is used in applications.

Go to this URL : http://www.eggheadcafe.com/articles/GenerateMachineKey/GenerateMachineKey.aspx
Click on the button "Generate Me A Key!"

I found it when i was in need to change my PasswordFormat to "Encryted" in ASP.NET membeship.
So what you have to do is add / change the passwordFormat="Encrypted"/> and add the machine key in the tag. 

So , your web.config will have settings like this.





Asp.NET membership has "Hashed" Passwordformat by default but you have to change in web.config file for "Clear" and "Encrypted" formats. (remember both format names are case sensitive).


Thanks,
Happy coding
Nitin Sharma

Thursday, November 24, 2011

Show excel sheet data in Gridview using C#

Hi All,
   This post show how you can show data of Microsoft Excel Sheet inside a ASP.NET gridview.

The excel sheet in this example is generated by exporting the Northwind Database's Customers table . I have placed the excel sheet  in my D:\ directory and named it as "Test".

The excel sheet looks something like this :





Now on a web page take a ASP.NET GridView Control and and on the Page_load event write this code :


        string F1Name = "D:\\Test.xls";
        string CnStr = ("Provider=Microsoft.Jet.OLEDB.4.0;" + ("Data Source="
        + (F1Name + (";" + "Extended Properties=\"Excel 8.0;\""))));
        DataTable DT = new DataTable();
        OleDbDataAdapter DA = new OleDbDataAdapter("Select * from [Customers$]", CnStr);
       Response.Write("File Accessed!!!!");
        try
        {
            DA.Fill(DT);
            GridView1.DataSource = DT;
            GridView1.DataBind();
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
                      

Run the WebPage and see the result as: 







Hope it will be useful.

Thanks,
Nitin Sharma



Wednesday, November 23, 2011

Apply Custom Style to Gridview using Style class and ApplyStyle method

Hi,
  In this post I will apply my own style to the Gridview Control.


1) Add a new page say "GV.aspx" in your asp.net website/web application.


2) Drag and drop  Gridview and a button control from the toolbox on the page.


3) Bind the Gridview on page load event. I have used LINQ to SQL In this example for binding the Gridview.
 The database used is Northwind. The name of LINQ class here is DB and I have added two tables Product and Category.



DBDataContext db = new DBDataContext();
    protected void Page_Load(object sender, EventArgs e)
    {
        // Simple LINQ query
        var products = from p in db.Products
                       where p.Category.CategoryName == "Beverages"
                       select p;


        GridView1.DataSource = products;
        GridView1.DataBind();
    }

Note that I have instantiated DataContext class outside the Page Load event making it Global to the page.

4) Now I will create a new style from the Style class and apply it to the Gridview using ApplyStyle() method.On the button Click Event add this piece of code:

    protected void btnStyle_Click(object sender, EventArgs e)
    {
        Style myStyle = new Style();
        myStyle.ForeColor = System.Drawing.Color.Red;
        myStyle.BackColor = System.Drawing.Color.Turquoise;
        myStyle.Font.Bold = true;
        myStyle.BorderStyle = BorderStyle.Solid;
        GridView1.ApplyStyle(myStyle);
    }

5) Run it and click on the button and see the output.Below is the screenshot showing before and after applying style.

Gridview before applying style



Gridview after applying style (Click on Apply Style Button)



That's it..!

Thanks,
Nitin Sharma


Tuesday, November 15, 2011

Consume / Call a Web Service in Silverlight application

Hi All,
       For all guys looking for how to Call  or Consume a Web Service in Silverlight  then this article is for you .
First of I would like to tell you that I am using Silverlight 4 and Visual Studio 2010.


So First of all create a Silverlight Application and name it anything say  "CBPSilverlight".




Ensure the Check box (Host the Silverlight application in a new Web Site) remains checked Under the "New Web Project Type" dropdown select "ASP.NET Web Site .
Note mine is Silverlight 4 version .Click OK.



Now you will see the Solution explorer as containing 2 Projects now:




Now we add a Web Service that will have web methods to be called inside the Silverlight application.


Right Click on CBPSilverlight WebSite and add new Item as a web Service. Name it as say " SLwebservice"



You will notice a SLwebservice.cs is open now under App_code folder.
This web service is populated with default "Hello World" Web Method.

Add one more Web Method say  GetTodaysDate() which will return todays date and time.
So now your method will look like this ( See both Web Method are higlighted )


Now once your Web Methods are completed , it is now time to consume in the Silverlght application . 
Now right click under the CBPSilverlight application's References' node ( not the Web Site)  and click " Add Service Reference..."



If you are not able to find the Services just click on Discover to find out the SLwebservice.
Give a name to the reference under Namespace column say " SLWebReference" and click OK.







Now in teh CBSilverlight application open MainPage.xaml (designer) and the following StackPanel inside the Grid Tag.




After that go to MainPage.xaml.cs and add a namespace reference for web service . Note web service reference name is qualified by prefixing with Application  name . see below:








Now the final step is to call the Web service (SLwebservice) here.
but remember : 

  1. All Web service calls in Silverlight are asynchronous.
  2. The web service proxy contains two members for each operation in the service: an asynchronous method and a completed event. For example, consider the “HelloWorld” service operation. We first add anEventHandler to HelloWorldCompleted within the scope of the MainPage() constructor. This is the event that will be invoked when the service returns the data we requested. After the event is set up, we are ready to make the call to the service by calling HelloWorldAsync method. 







Now add the following code just under InitializeComponent() in MainPage() constructor.:




            Sclient.HelloWorldCompleted += new EventHandler<HelloWorldCompletedEventArgs>(Sclient_HelloWorldCompleted);
            Sclient.HelloWorldAsync();

            Sclient.GetTodaysDateCompleted += new EventHandler<GetTodaysDateCompletedEventArgs>(Sclient_GetTodaysDateCompleted);
            Sclient.GetTodaysDateAsync();


Now add below two Events that are  mentioned above : 


        void Sclient_HelloWorldCompleted(object sender, HelloWorldCompletedEventArgs e)
        {
            textBlock1.Text = e.Result.ToString();
        }

        void Sclient_GetTodaysDateCompleted(object sender, GetTodaysDateCompletedEventArgs e)
        {
            textBlock2.Text = e.Result.ToString();
        }







So finally your code will look like this : 






Save your Project and Hit F5 or Ctrl+f5 and see the results on the asp.net web site Page.


Below  is the running page : 



Hope you find this post Helpful..
Happy Coding ...
Thanks,
Nitin Sharma