ASP.NET数据绑定的记忆碎片
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET数据绑定的记忆碎片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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頁面:
View Code <%@?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頁面:
View Code 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";
????????}
????}
}
我是看了這篇后自己測試一下,原博客是
http://www.cnblogs.com/yangcaogui/archive/2012/03/12/2390065.html
轉載于:https://www.cnblogs.com/lmfeng/archive/2012/03/14/2396018.html
總結
以上是生活随笔為你收集整理的ASP.NET数据绑定的记忆碎片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网站检测之防注入绕过的十一种技巧
- 下一篇: FireMonkey 平台初探