A New Internet Library: Add Your Website/Blog or Suggest A Website/Blog to our Free Web Directory http://anil.myfunda.net.

Its very simple, free and SEO Friendly.
Submit Now....

Thursday, July 24, 2008

Cross Page Post Back Labels: ASP.NET 2.0

ASP.Net 1.1 provides for web forms posting back only to themselves. In many situations, the solution requires posting to a different web page. The traditional workaround alternatives were to use Response.Redirect and/or Server.Transfer to move to a different page and simulate cross page post-back behavior.

 

ASP.Net 2.0 provides a feature known as Cross Page PostBack for a web form to post-back to a different web form (other than itself)

 

How to post to a different page

 

To set a web form to post back to a different web form, in the source web form, set the PostBackURL property of a control that implements IButtonControl (eg. Button, ImageButton, LinkButton) to the target web form. When the user clicks on this button control, the web form is cross-posted to the target web form. No other settings or code is required in the source web form.

 

Access source page info within the posted page: FindControl Method

 

The target web form resulting from the cross-page postback provides a non-null PreviousPage property. This property represents the source page and provides reference to the source web form and its controls.

 

The controls on the source page can be accessed via the FindControl method on the object returned by the PreviousPage property of the target page.

 

protected void Page_Load(object sender, EventArgs e)

{

    ...

    TextBox txtStartDate = (TextBox) PreviousPage.FindControl("txtStartDate ");

    ...

}

 

At this point the target page does not have any knowledge of the source page. The PreviousPage property is of the type Page. For accessing controls using FindControl, the developer has to presume a certain structure in the source web form. This approach using FindControl has a few limitations. FindControl is dependent on the developer to provide the ids of the controls to access. The code will stop working if the control id is changed in the source web form. The FindControl method can retrieve controls only within the current container. If you need to access a control within another control, you need to first get a reference to the parent control.

 

Access source page info within the posted page: @PreviousPageType Directive

 

There is another more direct option to get access to the source page controls if the source page is pre-determined. The @PreviousPageType directive can be used in the target page to strongly type the source page. The directive specifies the source page using either the VirtualPath attribute or the TypeName attribute. The PreviousPage property then returns a strongly typed reference to the source page. It allows access to the public properties of the source page.

 

SourcePage.aspx:

 

<form runat="server" >
...
<asp:textbox runat="server" id
="txtFirstName"/>
<
asp:textbox runat="server" id
="txtLastName"/>
<
asp:button runat="server" id="btnViewReport" Text="View Report" PostbackURL="~/targetpage.aspx"
/>
...

public string FirstName

{

    get { return txtFirstName.Text; }

}

...

 

TargetPage.aspx

 

<%@ PreviousPageType VirtualPath="sourcepage.aspx" %>

string strFirstName;
strFirstName = PreviousPage.FirstName
//Strongly Typed PreviousPage allows direct access to the public properties of the source page.

Access source page info within the posted page: @Reference Directive

 

A third option to access the source page in a strongly typed fashion from the target page is to include an @Reference directive to the source page in the target page and then cast the PreviousPage property to the type of the source page.

 

Detect Cross Page PostBacks: IsCrossPagePostBack Property

 

When the source page cross-posts back to the target page, and the target page accesses the source page, the source page is reloaded in memory and goes through all the life cycle stages except the rendering. This version of the source page object is used by the target page to access information on the source page.

 

The IsCrossPagePostBack property in the source page indicates if it is being reloaded in memory in response to a PreviousPage reference from a target page.

  1. Page A cross postback to Page B
  2. Page B accesses the PreviousPage : Page A is reloaded in memory and the IsCrossPostBack property on this object has the value "true".

The IsCrossPagePostBack property can be used in the source page to prevent un-necessary processing from repeating when the page is being reloaded for the PreviousPage reference.

The PreviousPage.IsCrossPagePostBack property can be used to deduce if the current page has been loaded as a result of a cross page postback.

Validations

 

If the Source Page has any Validator controls, the source page will need to have valid input when it has cross posted to the target page. The target page can contain the validation check for PreviousPage.IsValid to catch invalid submissions to the source page.

 

Usage Scenarios

           

Previous limitations restricted the postback to the self page in ASP.Net 1.1. In ASP.Net 2.0, you can use cross-page post backs to post to a different web page, resulting in more intuitive, structured and maintainable code.

 

Example - A web form collects criteria for a web-based report (such as Report Type, Report Start Date and Report End Date) and the form is cross page posted to another web form which generates the report based on the parameters passed in the previous page.

 

A typical use for cross page postback is where you need a page to post to different pages by clicking on different button controls in the same form. The target page is specified with each button control, allowing postbacks to various forms.

 

When posting across applications, cross page postbacks allow access to the posted form data, but do not provide access to the source page's controls and viewstate.

Thursday, July 10, 2008

Mackay's Moral: Nature is full of examples of teamwork. Teamwork should be part of your nature.

Stand together or fall apart
The huge redwood trees in California are considered to be the tallest trees in the world. Some of them are 300 feet high and more than 2,500 years old. One would think that trees so large would have a tremendous root system reaching down hundreds of feet into the earth. Not true. The redwoods actually have a very shallow root system, but they all intertwine. They don't stand alone, for all the trees support and protect each other. When the storms come or the winds blow, the redwoods stand together.
There is strength in numbers.
To drive home the power of teamwork and sticking together, I sometimes do a visual exercise during my speeches to corporate America, as well as in-house for our salesforce and employees. I hold up a bundle of six pencils and try to break them in the air and then over my knee. The average person can't break the bundle. Then I take one pencil out and snap it in two easily. I point out that if you help each other, you will be like the bundle of pencils. No one can break you apart. But if you are divided among yourselves, you will be broken as easily as a single pencil.
It's a hard lesson for us, but unity consistently produces greater results than individual endeavors. Teamwork divides the effort and multiplies the effect.
In a pulling contest at a county fair, the first place horse ended up moving a sled weighing 4,500 pounds. The second place finisher pulled 4,000 pounds. The owners of the two horses decided to see what these horses could pull together. They hitched them up and found that the team could move 12,000 pounds.
By working separately, the two horses were good for only 8,500 pounds. However, when coupled together, their synergism produced an added 3,500 pounds!
And what about the farmer who grew award-winning corn? Each year he entered his corn in the state fair where it won a blue ribbon. One year a newspaper reporter interviewed him and learned something interesting about how he grew it.
The reporter discovered that the farmer shared his seed corn with his neighbors. "How can you afford to share your best seed corn with your neighbors when they are entering corn in competition with yours each year?" the reporter asked.
"Why sir," said the farmer, "did you know that the wind picks up pollen from the ripening corn and swirls it from field to field. If my neighbors grow inferior corn, cross-pollination will steadily degrade the quality of my corn. If I am to grow good corn, I must help my neighbors grow good corn."
June marks my wedding anniversary, so the next story is timely for me. Many years ago in Austria they had a custom that helped villagers size up the future happiness of a newly married couple.
After the wedding in the local church, the village women would escort the bride and groom to a nearby forest and stand them before a large tree. They would then hand the young couple a two-handled bucksaw and ask that they use it to cut the tree down.
The closer the cooperation between the man and wife, the shorter the time it took for the tree to come down. And the older villagers wisely reasoned that, the shorter the time, the happier the young couple would be because they had learned that most valuable of marital lessons—teamwork!
Phil Jackson, the highly successful coach of the Los Angeles Lakers professional basketball team, frequently reads poetry to his players. To inspire his players on the subject of teamwork, he once read the following lines from Kipling's 1895 poem "The Law of the Jungle":
Now this is the Law of the Jungle —
As old and as true as the sky;
And the Wolf that shall keep it may prosper,
But the Wolf that shall break it must die.
As the creeper that girdles the tree-trunk
The Law runneth forward and back —
But the strength of the Pack is the Wolf,
And the strength of the Wolf is the Pack.
Mackay's Moral: Nature is full of examples of teamwork. Teamwork should be part of your nature.

Dynamically loading loading external JavaScript or CSS files in Javascript using DOM object.

To load a .js or .css file dynamically, in a nutshell, it means using DOM methods to first create a swanky new "SCRIPT" or "LINK" element, assign it the appropriate attributes, and finally, use element.appendChild() to add the element to the desired location within the document tree.

function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}

loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file

Wednesday, July 2, 2008

Dotnet-Interviews: Can any one solve this Puzzle / Problem in C#.NET

Dotnet-Interviews: Can any one solve this Puzzle / Problem in C#.NET

Dotnet-Interviews