欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET数据绑定的记忆碎片实现代码

程序员文章站 2024-03-06 16:56:20
asp.net数据绑定的一般情况1、<%= c#代码 %> //调用代码隐藏页面的方法、属性、或者字段 这里一般是调用属性和方法比较多,要注意调用的属性、方法或...
asp.net数据绑定的一般情况

1、<%= c#代码 %> //调用代码隐藏页面的方法、属性、或者字段
这里一般是调用属性和方法比较多,要注意调用的属性、方法或者字段的作用域,必须是可以在aspx页面可以访问到的。

代码示例(aspx):<%=property%>

在(cs)是: public string property{ get { return "this is a property";} }
属性是这样使用的,方法和字段的使用类似,也是这样实现的。

2、<%#数据绑定表达式%>//是在列表控件里面使用的

使用方式一:<%# eval("firstname")%>
使用方式二:<%# databinder.eval(container.dataitem, "secondname")%>
下面附上我调试的源码,可以复制过去看看

在aspx页面:

复制代码 代码如下:

<%@ 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>

在cs页面:
复制代码 代码如下:


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= "刘";
per.secondname= "明丰";
person per1 = new person();
per1.firstname = "林";
per1.secondname = "旺";
person per2 = new person();
per2.firstname = "陈";
per2.secondname = "仁峰";
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 "刘":
lit.text = "刘喜欢打球";
break;
case "林":
lit.text = "林喜欢下棋";
break;
default:
lit.text = "陈喜欢c#";
break;
}
}
protected string method()
{
return "this is a method";
}
}
}