Showing posts with label c#. Show all posts
Showing posts with label c#. Show all posts

Sunday, January 26, 2014

which binding we used for WCF REST protocol

In my previous post i explained, Interview question and few details on WCF. and Transaction in WCF  Now in this article i will explain which binding used during the WCF REST protocol. 


most of the time this question may asked during the interview , Yes its simple. 

For WCF REST used WebHttpBinding. You may enabled WebHttpBinding by as shown in the below code snippet.

    <endpointBehaviors>
            <behavior name="NewBehavior0">       
            <webHttp />
            </behavior>
    </endpointBehaviors>
 You can find more details here.


Saturday, December 28, 2013

Transactions in WCF

In my previous post i explained, Interview question and few details on WCF. Now in this article i will explain how WCF Transaction protocol.

Transaction is an important factor in any business application which contain CRUD operations. Here in WCF we have TransactionScope class which basically manages the transaction and also detech the transaction scope.


for ex. If your calling multiple methods and if any of method fails, then entire transaction will be rolled back unless its outside boundary of Scope.
WCF supports transaction on below bindings.
 
1.  WSHttpBinding
2.  WSFederationHttpBinding
3.  NetNamedPipeBinding
4.  NetTcpBinding
5.  WSDualHttpBinding



You need to specify the TransactionFlow attribute on all the contracts where it required transaction to be handled. where we have to specified that transaction are allowed for this specific method by assigning enum as 'TransactionFlowOption.Allowed'  

[ServiceContract]

public interface IUserDetails

{

    [OperationContract]

    [TransactionFlow(TransactionFlowOption.Allowed)]

    public void DeleteUserData();   
    [OperationContract]

    [TransactionFlow(TransactionFlowOption.Allowed)]

    public void UpdateUserData();   

}

there are following option present in TransactionFlow attribute.
TransactionFlowOption.Allowed :Transaction can be flowed.
TransactionFlowOption.NotAllowed: Transaction should not be flowed. This is default.
TransactionFlowOption.Mandatory: Transaction must be flowed.
 


Now implementing 'TransactionScopeRequired' attribute on specific method.

[OperationBehavior(TransactionScopeRequired = true)]
public void UpdateUserData()
{
  // database call goes here.
}

Once the scope assing, the last process will be enabling the transaction flow in config file.
 

Now consume the service by calling the UpdateUserData method and assign the scope block which check if the transaction method fails, if so then it will automatically rollback it.


using (TransactionScope Transcope = new TransactionScope())
{
  try
  {
   Services.UserDetailsService.UserDetailsServiceClient()
   clientVal = new Services.UserDetailsService.UserDetailsServiceClient();


   // code goes here to call method and assing the value.
   scope.Complete();
 }
catch (Exception ex)
{
scope.Dispose();
} 

}

I know this will helps to understand the concepts of transaction in WCF , if you have any query or suggestion please put your comments to know more.
 

Wednesday, December 11, 2013

Interview questions on WCF


Today i would like to share something about WCF, This is my first post on Windows Communication Foundation (WCF). since last 1 year i worked on WCF, so i would like to share my experience/points with you.
First will see what exactly mean by WCF . It's Microsoft programming model which helps for building service-oriented application. where we can send/ received the data asynchronously. service endpoint is the main channel where client can request data.

It has very good features :

1. Extensibility
2. Interoperability
3. Data Contracts
4. Security
5. Transactions
6. AJAX and REST Support
You may refer more about wcf here
 
 
Below interview question helps you to know more about WCF.
 
1.How session management worked in WCF?
answer - WCF manage the session by instanciating the service class. It basically used the Instance Context class to manage the server side at server side. you can refer more about Session management in WCF.


 
2. Is overloading possible in WCF? and How?
Yes method overloading is possbile in WCF. But yes it will raise the error as contract mismatch during method overload.
By providing the unique operationcontract name you can resolved that issue. It has Name property which expose the wcf method to schemas.
Look at the below example.
 
[ServiceContract]

public interface ICalculate
{

    [OperationContract(Name="ADD")]
    string methodName(int x,int y);
    

    [OperationContract(Name = "DISPLAY")]
    string methodName(string val1, string val2);
}
 
all the method get called by their attribute name and parameter value. 
for ex
ClientApp client = new ClientApp();
           
string method1 = client.methodName(1, 1);

string method2 = client.methodName("sample1", "sample2");

3.how to track no of visit to your service.
WCF has very good feature which enable us to manage the service call. with the help of this you can easily track the count. extension point is used.


4. list types of binding and have you worked on netMsmqBinding or netNamedPipeBinding ?
 
 
If you know more unique questions, please do share it.

Saturday, November 23, 2013

creating word documents using open xml with asp.net

Now in this article i will explain how to use the Office Open XML C# (alternate solution to the Interop object. 

The Open XML provides you set of .NET API. It helps helps you manipulate and creating the documents in the Open XML Formats
in both the environments (i.e client and server both) and that is without help of MS office applications.

Before using Open XML Format, you have to add the below namespaces in your C# class. Add references to the Packaging and Spreadsheet API components with the following code.
 
 
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
 
Here is the CreateOpenXmlDocument function where you need to pass the filepath and it will created that doc file on specified positionl
 
public void CreateOpenXmlDocument(string filepath)
{
    
 using (WordprocessingDocument wordDocument = WordprocessingDocument.Create(filepath, WordprocessingDocumentType.Document))
  {
    // Add a main document part.
    MainDocumentPart mainPart = wordDocument.AddMainDocumentPart();

    mainPart.Document = new Document();
    Body body = mainPart.Document.AppendChild(new Body());
    Paragraph para = body.AppendChild(new Paragraph());
    Run run = para.AppendChild(new Run());
    run.AppendChild(new Text("Create text sample text, coding stuffs daily..."));
  }
}



Here now i am integrating that function into my page_load event.


protected void Page_Load(object sender, EventArgs e)
{

      string FilePath =  @"C:\\Temp";
      CreateWordprocessingDocument(FilePath);

      FileInfo myDoc = new FileInfo(FilePath);
      Response.Clear();
      Response.ContentType = "Application/msword";
      Response.AddHeader("content-disposition", "attachment;filename=" + myDoc.Name);
      Response.AddHeader("Content-Length", myDoc.Length.ToString());
      Response.ContentType = "application/octet-stream";
      Response.WriteFile(myDoc.FullName);
      Response.End();

}
 
 
This is just an sample doc creation , you may even format the document with adding images, graphs, style to para and may more. Just refer this Microsoft article on how to do this. 

feel free to raise your suggestion/comments on this. Thanks you and happy coding....


 
 
 

Tuesday, November 12, 2013

Microsoft.Office.Interop.Word how to prevent word file opening

In my previous post i explained, how to Convert the dataset to xml string using  C# and asp.net
Now in this article i will explain how to prevent the word file opening, i have bunch of word document and i want to read/search text value out of it.  i tried that using Microsoft.office.Interop.Word object. 

Here is the sample code which prevent the word to opening the main window.
private void PreventOpenWord(string Filepath)
{
 Application word = new Application();
 FileInfo fileInfo = (FileInfo)file;


object save = false;
object confirmConversion = false;
object visible = false;
object skipEncodingDialog = true;
object readOnly = true;
object filename = fileInfo.FullName;

word.Visible = false;

Document srcDoc = word.Documents.Open(ref Filepath, ref confirmConversion, ref readOnly, ref missing,
    ref missing, ref missing, ref missing, ref missing,
    ref missing, ref missing, ref missing, ref visible,
    ref missing, ref missing, ref skipEncodingDialog, ref missing);




foreach (Microsoft.Office.Interop.Word.Range docRange in doc.Words)
{
if (docRange.Text.Trim().Equals(textToFind,
StringComparison.CurrentCultureIgnoreCase))
{
  
IsWordFound = true;
break;
}
}
}
catch (Exception ex)
{
 Response.Write("Error while reading file : " + ex.Message);
}
}


Hope this will helps you.. Happy  coding.. 

Sunday, October 27, 2013

Convert Dataset to xml string using C#


In my previous post i explained, Save images to database using SQL. Count string occurrence and much more articles realted with asp.net, SQL. Now in this article i will going to explain how to Convert the dataset to xml string using  C# and asp.net 

below is the short and sweet way to convert the dataset into xml.


DataSet dsUser = new DataSet();

SqlCommand cmdSelect = new SqlCommand("select name,age,location,ph,cell,status from userDetails ", conn);

SqlDataAdapter sda = new SqlDataAdapter(cmdSelect);

da.Fill(dsUser);

string strUserDetails = dsUser.GetXml();

Its very simple and easy method. Please post your comments for any suggestion.

Tuesday, September 24, 2013

Find Header & Footer template from Repeater control in .Net



This article will explain you how to find the Repeater Header and Footer template details.

I had created one user control which contain the Repeater. It generate the product showcase. i used that control in multiple pages but some where i need to update few details like header title , footer text at run time and that i have achieved it through find control.
Below example can helps you to understand the clear idea.


<asp:Repeater ID="ProductsDetails" runat="server">  
<HeaderTemplate> 
     <asp:Label ID="lblProductDetails" runat="server" Fore-Color= "Red"  Font-Bold = "true" />
 <br />  
</HeaderTemplate>  
<ItemTemplate>      
 Product Name : <%#Eval("Name") %> <br />  
</ItemTemplate>  
<FooterTemplate>      
 <asp:Label ID="lblPriceDetails" runat="server" Fore-Color= "Green" Font-Bold = "true" />  
</FooterTemplate>
</asp:Repeater>


Here i have define repeater control along with header & footer details , now i want to change the text of label called "lblProductDetails" at run-time. below snippets will helps you to get the Repeater details and base on that you can easily find the footer  & header controls  and change the text.


//Find HeaderTemplate
   Control TempHeaderDet = ProductsDetails.Controls[0].Controls[0];      
   Label lblHeaderDet = TempHeaderDet.FindControl("lblProductDetails") as Label;      
   lblHeaderDet.Text = "Product Description :";

//Find FooterTemplate

   Control FooterTemplateDet = ProductsDetails.Controls[ProductsDetails.Controls.Count - 1].Controls[0];            
   Label lblFooterDet = FooterTemplateDet.FindControl("lblPriceDetails") as Label;      
   lblFooter.Text = "Product Price:";



Yeap, i know its not very big deal... but yes some time this trick will helps you and save time as well. 

put your comments/ question in case of any concerns.

 

Saturday, January 19, 2013

C# zip unzip using window shell

If you want to zip / unzip files using C# code .yes its easy and you can do that without using any third party tools. using simple dll (Windows Shell32) you can do that quickly.

Just find below steps.

1.Create new project in Visual Basic 2010.
2.From the main menu, select Project -> Add Reference.
3.Select the COM tab and search for Microsoft Shell Controls and Automation.  



 Try using below code and zip/unzip your code.

Public Class Form1
 
    Sub Zip()
        '1) Lets create an empty Zip File .
        'The following data represents an empty zip file .

        Dim startBuffer() As Byte = {80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, _
                                     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 
        ' Data for an empty zip file .
        FileIO.FileSystem.WriteAllBytes("d:\empty.zip", startBuffer, False)
 
        'We have successfully made the empty zip file .

        '2) Use the Shell32 to zip your files .
        ' Declare new shell class
        Dim sc As New Shell32.Shell()
        'Declare the folder which contains the files you want to zip .
        Dim input As Shell32.Folder = sc.NameSpace("D:\neededFiles")
        'Declare  your created empty zip file as folder  .
        Dim output As Shell32.Folder = sc.NameSpace("D:\empty.zip")
        'Copy the files into the empty zip file using the CopyHere command .
        output.CopyHere(input.Items, 4)
 
    End Sub
 
    Sub UnZip()
        Dim sc As New Shell32.Shell()
        ''UPDATE !!
        'Create directory in which you will unzip your files .
        IO.Directory.CreateDirectory("D:\extractedFiles") 
        'Declare the folder where the files will be extracted
        Dim output As Shell32.Folder = sc.NameSpace("D:\extractedFiles")
        'Declare your input zip file as folder  .
        Dim input As Shell32.Folder = sc.NameSpace("d:\myzip.zip")
        'Extract the files from the zip file using the CopyHere command .
        output.CopyHere(input.Items, 4)
 
    End Sub
 
End Class
 

Friday, June 11, 2010

How strong name assemblies keep you out of DLL Hell

while using Microsoft .NET framework for creating any application we are previously facing same problem with the DLL Hell. it arises a problem while updating a components so it breaks the other application which are depend on it. to overcome such a issues developer needs to implement the concept of Strong name .In this article you can through with how and why to use strong name .

Strong Name :
what is strong name? A Strong name is of information used to identify the assembly which may consist of Text-name , four part of version number , culture information , public key and the digital signature which may stored in a assembly manifest that get embedded on the file of the assembly.

By using the Strong name the CLR can assured that two assembly can be there with the same name. by the way strong name is basically provided the unique identification of the assembly. there are two scenarios in which the strong name can included in the assembly
1.Shared Assemblies
2. Serviced Components.

on the first case the shared assemblies can be used in the multiple application which may running on the same machine on GAC. and you may get the benefit ares:
1. Single Development
2. Bypass verification
3. Centralized update

yes as your getting such a good benefits then surely there is also a some issues on it that is
1.calling a private assemblies : if the shared assemblies can load with the type of private assembly then CRL will throw an Error because it reference only shared assemblies.
2. Trusting assemblies :
3. Installation issues :

How to create "Strong Name".
To create strong name for assembly you need a (al.exe) tool which is a assembly generation tool .now to create a key pair in the file you can use Strong name utility (Sn.exe) like this way.
Sn.exe -k filename.dat

The key file could be used on Al.exe to generate the strong name.
Al.exe /out:Input.dll /Keyfile:output.dat

Like this way you can design your strong name with the key. hope you get something from this
if you have any query on it plz post the reply.

Friday, December 4, 2009

Format DateTime in Gridview.

Gridview is using mostly , now i have come up with some small but very important task on how to display Proper date time on Gridview , Basically we are defining standard date time option (date + time) , but some time we only want to display date in this case you can follow the below format.Format Date on Bound Column in Grid View

Suppose you want DOB in short date format without time , then you can simply use DataFormatString ="{0:d}" for Short Date
like this

<asp:BoundField DataField="DOB" HeaderText="DOB" DataFormatString = "{0:d}" />


if you are using above this setting then also it will not work ,coz by default the html encode is turned ON to prevent the Cross site Scripting attack , so for that you need to add one more property as HtmlEncode ="false".


<asp:BoundField DataField="DOB" HtmlEnclode="False" HeaderText="DOB" DataFormatString = "{0:d}" />

if You want Logn Date you can use - DataFormatString = "{0:D}"
if You want Logn Time you can use - DataFormatString = "{0:T}"

If you are using Template comlumn and you want to make your date string in short format then also you can use this suppose your item templates is

<ItemTemplate >
<asp:Label ID="DOB" runat="server" Text='<%# Bind("DOB") % >'> </asp:Label >
</ItemTemplate >


Then also you can use like this way:

<asp:Label ID="DOB" runat="server" Text='<%# Bind("DOB","{0:D}") % >'> </asp:Label >


Following table will show some date formating ways in Gridview column.



Format Pattern

Name

Example

d


Short date

11/8/2008

D

Long date

Sunday, August 11, 2008


t

Short time

3:32 PM

T

Long time

3:32:00 PM

f

Full date/time
(short time)

Sunday, August 11, 2008 3:32 PM

F

Full date/time
(long time)

Sunday, August 11, 2008 3:32:00 PM

g

General date/time
(short time)

8/11/2008 3:32 PM

G

General date/time
(long time)

8/11/2008 3:32:00 PM

m or M

Month day

August 11

r or R

RFC 1123


Sun, 11 Aug 2008 8:32:00 GMT

s

Sortable date/time

2008-08-11T15:32:00

u


Universable sortable date/time

2008-08-11 15:32:00z

U

Universable sortable date/time

Sunday, August 11, 2008 11:32:00 PM


y or Y

Year month

August, 2008


thanx you,

Wednesday, November 18, 2009

Check for valid Internet Connection using C#

on many application we need internet connectio , such as smart client to send receive the data, now in this case below code will help you to make sure that you have proper internet connection or not , the conecpt is like very simple, at first we simply check that if the user has network connection and according to that it will return Success / Fail message.

Now i just ping the two website (www.google.com ,www.yahoo.com) which will ping that site and return fail or success message.


C#
public bool GetIsConnAvail()
{
var success = false;
string StatusMsg;
if (NetworkInterface.GetIsNetworkAvailable() == false)
{
return success;
}
string[] Mysite = { "www.google.com", "www.yahoo.com"};
try
{
using (var ping = new Ping())
{
foreach (var url in Mysite)
{
var replyMsg = ping.Send(url, 300);
if (replyMsg.Status == IPStatus.Success)
{
success = true;
StatusMsg = "Connection Found..."
break;
}
else
{
StatusMsg = "Internet Connection not Found on your machine..."
}

}
}
}

catch (Exception ex)
{
Trace.WriteLine(ex.Message);
}
return success;
}



i thing this code will surely help you to search your connection faster than other ways.

Wednesday, October 14, 2009

Check Page.IsValid at Client Side using C#

when i was designing a registration form i run into this case, what i want is if user press register
button, then that button get disable to avoid multiple click on registration button.

now if error occurred on the client side never call any server-side function so in this case the disable button will remain disable as it is, now to overcome

such problem we have to identify whether Page is error free on the client-side.

To find out this simply check on Disable Submit Button.


if(Page_IsValid)
{
//write your code here.
}




function DisableClick() {
var obj = 'btnUpd';
if (Page_IsValid) {
document.getElementById(obj).disabled = true;
txt = txt + 1;
message = 'Please Wait......(' + txt + ')!';
document.getElementById(obj).value = message;
var t = setTimeout('DisableClick()', 600);
}
else
{
document.getElementById(obj).disabled = false;
document.getElementById('PleaseWait').style.display = 'none';
document.getElementById(obj).value = "Register";
}
}


hope it will work you,

Thursday, October 8, 2009

Twitter API from C# .Net

Twitter is one of the Great and friendly site ,Twitter has an API implementation that is very simple to understand and use. if you want to friends friends timelie of user you can use that from here

- http://twitter.com/statuses/friends_timeline.rss

Ones you find the RSS of friends , you can get the 3 Keywords
1 . Statuses - what are you working on ?
2. friends_timeline - what do you need ?
3. RSS - in which format you need Rss
API supoorting in xml , json, rss, atom you can choose one of that .

Methods supported: See Twitter API

There are many objects supported, but the above format applies for only a few like Statuses, User, Direct Messages. there rest all other are mostly similar.

right now i am working on complete set of wrappers using this api, so it will be easy ,plz leave a comment if you want any help

Monday, September 28, 2009

Captcha ASP.NET 2.0 Server Control

Captcha control is used to validate user in terms of avoiding spamming on message or comments or registration or so on . implement Captcha on your application , below are the steps how u can do that

Installation instruction:

1. Unzip the downloaded file.
2. Copy MSCaptcha.dll and MSCaptcha.xml files to your /bin application directory.
3. add reference to mscaptcha.dll file.
4. Modify your web.config file, by adding this line to &l;httphandlers> section:
<add verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler, MSCaptcha"/>

5.Add MSCaptcha control to your Visual Studio toolbox (optional)


how to use on Page

1. Add line to your .aspx file:
<%@ Register Assembly="MSCaptcha" Namespace="MSCaptcha" TagPrefix="cc1" % >

2. add the control whenever you want:

<cc1:CaptchaControl ID="ccJoin" runat="server" CaptchaBackgroundNoise="none" CaptchaLength="5" CaptchaHeight="60" CaptchaWidth="200" CaptchaLineNoise="None" CaptchaMinTimeout="5" CaptchaMaxTimeout="240" / >


3. Add this on your CS file to check or Validate enter captcha is right or wrong


ccJoin.ValidateCaptcha(txtCap.Text);
if (!ccJoin.UserValidated)
{
//Inform user that his input was wrong ...
return;
}



now its look like this way :



Download Here..


Captcha ASP.NET 2.0

Friday, September 25, 2009

System.IndexOutOfRangeException was unhandled (Message="Index was outside the bounds of the array.")

on C# or vb.net we are using array,Array is one of the best way to mentain collection of data together and proper way ,

here is one Error which get call whenever some problem with size and all

The exception that is thrown when an attempt is made to access an element of an array with an index that is outside the bounds of the array. This class cannot be
inherited.

.NET arrays have base 0 and should be kept in mind when coding.


ones you got this error you have to resize your array size, accroding to your requirements

Wednesday, September 23, 2009

CSV to XML Conversion using LINQ

on C#, if we want to Convert CSV to XML then you can use Language Integrated Query (LINQ) can be used to convert a CSV file to XML. Here is the sample CSV file that needs to be converted

below example code reads the CSV file to an array. LINQ is used to loop through the array and the contents are written as XML using XElement (System.XML.Linq).


public void ConvCSVToXML()

{

String[] FileContent = File.ReadAllLines(@"D:\Proj\jquery.csv");

String XMLNS = "";

XElement Inv = new XElement("type", from

items in FileContent

let fields = items.Split(',')

select new XElement("fadein",

new XElement("Tab", fields[0]),

new XElement("ProgressBar", fields[1]),

new XElement("ToolTip", fields[2]),

new XElement("Menu", fields[3]),

)
);

File.WriteAllText(@"D:\Proj\jquery.xml", XMLNS + Inv.ToString() );
}


using this you can convert your CSV file xml using C# and C# Convert CSV To XML, .NET CSV To XML

Tuesday, September 22, 2009

How to get the Upper Bound of an Array in C#

hi, if you'r using asp, vbscript and all then you have option call UBound
which will return a UpperBound value of Array. but on C#, you dont have that option call Ubound ,for that you can use GetUpperBound() option - Gets the upper bound of the specified dimension in the Array.

here is an Example which can show how to use GetUpperBound()


For i = MyArray.GetLowerBound(0) To MyArray.GetUpperBound(0)

Next i


like this way you can use both option call GetLowerBound & GetUpperBound ,
GetLowerBound will return lower bound value.here you have to pass (int value)
0 - 1st arrayvalue, 1- 2ndarrayvalue like that,

thank you.

Saturday, September 19, 2009

Download data using FTP or HTTP with C#

If you want to download data via FTP or HTTP then you can use this solution. you can Use the System.Net.WebClient to achieve this. The URI determines whether a file (file://) , FTP (FTP://) or HTTP (HTTP:// or HTTPS://) scheme is to be used.

On .Net2.0 there is an Async Version get added which will allows you download data asynchronously as a background task using its own thread from the thread pool. WebClient object can handle one async download at a time. its not useful for downloading many files concurrently , but if you want to do this then you can use multiple WebClient objects. if you want to Cancel the current download using CancelAsync.

There are Several Methods:

1. OpenRead - returns a System.IO.Stream
OpenReadAsync - async downloading use the handler OpenReadCompleted

2. DownloadData - returns a ByteArray
DownloadDataAsync - use handler DownloadDataCompleted

3. DownloadFile - Saves to a local file
DownloadFileAsync - use handler DownloadFileCompleted

4. DownloadString - returns a String ( introduced in .net 2.0)
DownloadStringAsync - use handler DownloadStringCompleted


Here is Sample code:

using System.IO;
using System.Net;
using System.Text.RegularExpressions;

string remoteUri = "http://www.entersitenamehere.com";
WebClient client = new WebClient();
string str = client.DownloadString(remoteUri);


** if you are using proxy then you need extra code to code around it.
on my next post i will tell you how you can download data using Proxy.
Downloading data over FTP, Downloading data over HTTP, FTP, HTTP, Net.WebClient

Wednesday, September 2, 2009

Highlight Gridview's Row on mouseHover

in Gridview we have seen most of the time we one we take move hover to any row , size of that row or background color or any animation get happen you can do that using css, or java script also.

here i have do that using java script

function gvHigh(tRow,showAct)
{
if (showAct)
{
tRow.style.backgroundColor = '#ff32ss';
}
else
{
tRow.style.backgroundColor = '#ffffff';
}
}

function urlloca(Url)
{
document.location.href = Url;
}



and Define onrowCreated function like this and put your code behind here


protected void gv1_onRowCreated(object sender, EventArgs e)
{
foreach (GridViewRow gvRow in gv1.Rows)
{
gvRow.Attributes["onmouseover"] = "highlight(this, true);";
gvRow.Attributes["onmouseout"] = "highlight(this, false);";
HttpResponse myHttpResponse = Response;
HtmlTextWriter myHtmlTextWriter = new HtmlTextWriter(myHttpResponse.Output);
gvRow.Attributes.AddAttributes(myHtmlTextWriter);
}

}



that's it it will help you.
thank you.

Monday, August 31, 2009

set meta tags to master page from Child Page

Meta tag ,title, keywords ,Description and all are very assential on each page , if your using asp.net with Master page then also its possible some people think that how it can be? master page means one page and it get call on each child page creation.but you can also add the keyword , title and all with each pertucular page if you'r using master page then also.

Below are the Steps you need to follow

1-

Create oen Content place holder on your master page with in HEAD section


<head id="Head_Demo" runat="server">
<asp:ContentPlaceHolder runat="server" id="Contentplace_Demo"> </asp:ContentPlaceHolder>
</head >


2 -

on Your Child page put this code :

<asp:Content runat="server" ContentPlaceHolderID="ContentHeaders" ID="Content_Demo" >
<META name="keywords" content="<%=pgKeywords%>">
<TITLE><%=pgTitle%></TITLE>
<META name="description" content="<%=pgDescription%>">
</asp:Content>


3 -

on content page's(Child page) open CodeBehind and Declare this :
Declare variables as below in the global declaration section

Protected pgKeywords As String = ""
Protected pgTitle As String = ""
Protected pgDescription As String = ""


4-
Now set the New title, Desc and all as per the your req. copy that code on page_load Event

pgKeywords = "keywords Content Goes here "
pgTitle = "title Content Goes here"
pgDescription = "Description Content Goes here"

or you can also refer this set mata tags

that's it
hope it will helps you