Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

What is the difference between <%#%> and <%=%>?

Answer Posted / vinodh reddy

I was a little confused about the difference between <%=
expression %> and <%# expression %> in ASP.NET. It seems
like both work in a lot of cases, but in other cases, only
the # (data binding) version works. So, I decided to dig
into it a little bit. To try it out I built this simple
page:

<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd"><html
xmlns="http://www.w3.org/1999/xhtml" ><head
runat="server"> <title>Untitled
Page</title></head><body> <form id="form1"
runat="server"> <div> <p>Equals: <%=
this.TestValue %></p> <p>Pound: <%# this.TestValue %
></p> <p>Equals label: <asp:Label runat="server"
ID="_equals" Text="<%= this.TestValue %>" /></p>
<p>Pound label: <asp:Label runat="server" ID="_pound"
Text="<%# this.TestValue %>" /></p> </div>
</form></body></html>
And the code behind is:

public partial class _Default : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e)
{ _testValue = "2"; } protected void
Page_PreRenderComplete(object sender, EventArgs e)
{ // DataBind(); _testValue = "3"; }
public string TestValue { get { return
_testValue; } } private string _testValue = "1";}
Here's what the result is when the DataBind() line is
commented out:

Equals: 3

Pound:

Equals label:

Pound label:

And, when it's not commented out:

Equals: 3

Pound: 2

Equals label:

Pound label: 2

At first glance it looks like the Equals label case did
nothing. But, if you view source, you see:

<p>Equals label: <span id="_equals"><%= this.TestValue %
></span></p>

The literal expression made it down to the browser and it's
just invalid HTML. What you can see as a result is:

The <%= expressions are evaluated at render time
The <%# expressions are evaluated at DataBind() time and
are not evaluated at all if DataBind() is not called.
<%# expressions can be used as properties in server-side
controls. <%= expressions cannot.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is the concepts of globalization and localization in .net?

934


Describe the application event handlers in ASP.NET?

1026


Explain how do you validate the controls in an asp .net page?

910


What I need to create and run an asp.net application?

957


How many web.config files can I have in an application?

959


Explain the difference between inline and code behind - which is best in?

991


Which dll handles the request of .aspx page?

947


When Cookies are expired in ASP.NET?

1002


Describe the differences between the lifecycles of Windows services and Standard EXE?

1172


What is the good practice to implement validations in aspx page?

1084


How we implement web farm and web garden concept in asp.net?

987


Define transparent caching with aop?

1061


I have created a configuration setting in my web.config and have kept it at the root level. How do I prevent it from being overridden by another web.config that appears lower in the hierarchy?

975


Explain method to handle error using HttpError in Web API?

1037


Distinguish between Server-side and Client-side code with its functionality?

1112