ASP.NET data binding memory fragment implementation code

  • 2020-05-19 04:28:27
  • OfStack

ASP.NET data binding like 1

1. < %= C# code % > // the calling code hides the methods, properties, or fields of the page
In this case, we usually call more properties and methods. It is important to note that the scope of the property, method or field to be called must be accessible from the ASPX page.

Code example (ASPX) : < %=Property% >

In (CS) is: public string Property{get {return "This is a Property"; }}
Properties are used in this way, and methods are implemented in the same way as fields.

2, < %# data binding expression % > // is used in the list control

Usage 1: < %# Eval("FirstName")% >
Usage 2: < %# DataBinder.Eval(Container.DataItem, "SecondName")% >
Attached below I debug the source code, you can copy the past to see

On the ASPX page:

 
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DataBindEx._Default" %> 
<%@ Import Namespace="System.Data" %> 
<%@ Import Namespace="System.Collections.Generic" %> 
<!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></title> 
</head> 
<body> 
<form runat="server"> 
<div> 
<%=Property%> 
<br /> 
<asp:TextBox ID="TextBox1" Text="This is TextBox of serverClient " runat="server"></asp:TextBox> 
<br /> 
<%=Method()%> 
<br /> 
<br /> 
<asp:Label ID="Label1" runat="server"><%=TextBox1.Text %></asp:Label> 
<br /> 
<%=(Property + " " + Method())%> 
</div> 
<div> 
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="RptAllOnItemDataBound"> 
<HeaderTemplate> 
This is Header<br /> 
</HeaderTemplate> 
<ItemTemplate> 
FirstName:<%# Eval("FirstName")%> 
SecondName:<%# DataBinder.Eval(Container.DataItem, "SecondName")%> 
FullName:<%# (Container.DataItem as DataBindEx.Person).FullName%> 
<asp:Literal ID="Others" runat="server"></asp:Literal> 
<br /> 
</ItemTemplate> 
<FooterTemplate> 
This is footer<br /> 
</FooterTemplate> 
</asp:Repeater> 
</div> 
</form> 
</body> 
</html> 

On the CS page:
 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.MobileControls; 
namespace DataBindEx 
{ 
public class Person 
{ 
public string FirstName 
{ 
get; 
set; 
} 
public string SecondName 
{ 
get; 
set; 
} 
public string FullName 
{ 
get 
{ 
return FirstName + SecondName; 
} 
} 
} 
public partial class _Default : System.Web.UI.Page 
{ 
public string Property 
{ 
get 
{ 
return "This is a Property"; 
} 
} 
protected void Page_Load(object sender, EventArgs e) 
{ 
string str = TextBox1.Text; 
Person per = new Person(); 
per.FirstName= " liu "; 
per.SecondName= " Ming fung "; 
Person per1 = new Person(); 
per1.FirstName = " Lin "; 
per1.SecondName = " swan "; 
Person per2 = new Person(); 
per2.FirstName = " Chen "; 
per2.SecondName = " RenFeng "; 
List<Person> list = new List<Person>(); 
list.Add(per); 
list.Add(per1); 
list.Add(per2); 
Repeater1.DataSource = list; 
Repeater1.DataBind(); 
} 
protected void RptAllOnItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
Person pe = (Person)e.Item.DataItem; 
Literal lit = e.Item.FindControl("Others") as Literal; 
if (pe !=null) 
switch (pe.FirstName) 
{ 
case " liu ": 
lit.Text = " Liu likes to play ball "; 
break; 
case " Lin ": 
lit.Text = " Lin likes playing chess "; 
break; 
default: 
lit.Text = " Like Chen c#"; 
break; 
} 
} 
protected string Method() 
{ 
return "This is a Method"; 
} 
} 
} 

Related articles: