博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET数据绑定的记忆碎片
阅读量:7232 次
发布时间:2019-06-29

本文共 3057 字,大约阅读时间需要 10 分钟。

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://empfm.baihongyu.com/

你可能感兴趣的文章
鼠标放上去图片切换效果
查看>>
String Method的字符串变换的一个例子
查看>>
浅谈for...in与for....of
查看>>
无效报表文件路径
查看>>
MySQL使用存储过程,光标的使用的简单示例
查看>>
php.ini在php脚本文件中的配置
查看>>
C语言 电梯函数
查看>>
html 做的简历
查看>>
neural_transfer风格迁移
查看>>
测试ip
查看>>
ex1.1
查看>>
day10_friest_自动化
查看>>
Entity Framework直接执行SQL语句
查看>>
NodeJS Socket Broadcast
查看>>
BZOJ5168:[HAOI2014]贴海报(线段树)
查看>>
<%@Page%>中的Codebehind AytoEventWireup.inherits有何作用?
查看>>
64. Minimum Path Sum
查看>>
SQL Server 导入bak备份出错
查看>>
JavaScript中的私有/静态属性
查看>>
Ubuntu下安装XAMPP
查看>>