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

Explain the difference between debug.write and trace.write?

922


if i want to give an alert message like "try after sometime" to a web page which is being seen by other person.if a web page is not seen by anyone then it should display otherwise it show a display a message stating that other person is viewing so try after some time........how can i implement this.

2187


What is view state management in asp net?

869


List the events in page life cycle.

916


Explain diff. Betn dataset and recordset?

957


What websites use asp.net?

987


What is cas?

998


What is the life cycle of an asp.net page?

864


Explain what does mvc represent in asp.net? : asp.net mvc

990


How use Xml data in ASP.net?

939


What are main return types supported in Web API?

1327


What is difference between session and application in asp net?

972


How can we apply themes to an asp.net application?

991


What is the difference between custom web user control and a custom web server control?

907


Can we create a multiple user simultaneously ?

1055