无为清净楼资源网 Design By www.qnjia.com
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";
}
}
}
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";
}
}
}
标签:
ASP.NET数据绑定,记忆碎片
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年09月27日
2024年09月27日
- 纯音入心系列纯音乐《中央民族乐团-古筝传奇》1CD[MP3][253.1MB]
- 江玲.1989-这样你才爱我,是吗?【新作有声】【WAV+CUE】
- 郭美美.2010-我是郭美美【华纳】【WAV+CUE】
- 黄心懋1991-轻忧郁【滚石】【WAV+CUE】
- 群星.2000-大地金曲世纪回顾2CD【大地】【WAV+CUE】
- 王菲.1996-浮躁(2024环球MQA-UHQCD限量版)【环球】【WAV+CUE】
- 群星.2022-传家电视剧原声带【东阳欢娱】【FLAC分轨】
- 《摇滚教父 伍佰黄金精选 2CD》 [WAV+CUE][1GB]
- 《凤凰传奇 我从草原来》[WAV/分轨][400MB]
- 《叶倩文 真心真意过一生》[WAV+CUE][400MB]
- 潘越云.1985-世间女子(滚石25周年经典复刻版)【滚石】【WAV+CUE】
- 陈柏宇.2009-CANT.BE.HALF【SONY】【WAV+CUE】
- 李明依.1989-小女生【滚石】【WAV+CUE】
- 《李荣浩 新时代创作新人王》[WAV分轨][310MB]
- 《黑鸭子与马头琴 史上最动听草原音乐》[WAV+CUE][320MB]