ITPub博客

首页 > Linux操作系统 > Linux操作系统 > .NET基础之数据绑定

.NET基础之数据绑定

原创 Linux操作系统 作者:iDotNetSpace 时间:2009-05-25 22:22:18 0 删除 编辑

<%#name%>:将name绑定到该属性;
1.简单数据绑定
在页面源代码中添加一个Label控件,将页面的Name属性绑定到该控件上
>

简单属性绑定
//cs代码:
//设置一个Name属性,可以绑定的属性必须有get
public string Name
{
    get
    {
       return "姓名";
    }
}
protected void Page_Load(object sender, EventArgs e)
{
    //将数据源绑定到控件
    Page.DataBind();       
}


--------------------------------------------------------------------------------

2.表达式的绑定
在页面源代码上添加两个TextBox控件,一个Label控件,将两个TextBox的值相乘后显示在Label上
0
0
//Decimal 表示十进制数,Decimal 类型不会消除对舍入的需要,而是将因舍入而导致的错误降到最少
>
页面cs代码:Page.DataBind(); 如果希望页面初始及绑定,就放在Page_Load中,如果希望点击按钮计算,就放在Button的Click事件中。

 

--------------------------------------------------------------------------------

3.方法的绑定
在页面源代码中直接调用cs代码中的方法
在页面源代码上添加两个TextBox控件,一个Label控件,将两个TextBox的值相乘后显示在Label上
0
0
//Decimal 表示十进制数,Decimal 类型不会消除对舍入的需要,而是将因舍入而导致的错误降到最少
>
页面cs代码:Page.DataBind();如果希望页面初始及绑定,就放在Page_Load中,如果希望点击按钮计算,就放在Button的Click事件中。

public string text()
{
    double num1 = Convert.ToDouble(TextBox1.Text);
    double num2 = Convert.ToDouble(TextBox2.Text);
     return ("总数为:"+(num1 * num2).ToString());
}
也可以使用JavaScript绑定到方法。
页面源代码:

Code

    function Button1_onclick()
    {
       var a;
       a = '';
       a='<%#text()%>'         //调用c#的方法,此方法见上段
       alert(a);
    }
   


--------------------------------------------------------------------------------
4.Eval( " ")和DataBinder.Eval( Container.DataItem,"FileName")区别

DataBinder:数据绑定管理器
Eval:求值
Container:被绑定到的容器,比如GridView,DataList等
DataItem:容器的数据项,包括项、交替模板行
FileName:绑定到容器的字段(来自数据库表字段)

Eval只能在数据绑定控件的模板中使用,而不能用于Page(页面)层
 ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fieldname)简化为Eval(fieldname)。Eval方法与DataBinder.Eval一样可以接受一个可选的格式化字符串参数。缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器。ASP.NET 2.0页面中仍然支持DataBinder.Eval,你可以在不支持简化的Eval语法的环境中使用它。
span style="color: #ff0000">双向绑定和单向绑定的区别
Eval 函数用于定义单向(只读)绑定。
Bind 函数用于定义双向(可更新)绑定。
简单说就是Eval只能读数据,不能更新。Bind 既能读又能更新。 Bind 方法通常与输入控件一起使用,例如由编辑模式中的 GridView 行所呈现的 TextBox 控件。当数据绑定控件将这些输入控件作为自身呈现的一部分创建时,该方法便可提取输入值。


--------------------------------------------------------------------------------
5.格式化绑定数据
最后一个参数和String.c的形式一样,下面三种表达方式相同,详见c#基础之字符串处理
<%#DataBinder.Eval(Container.DataItem,"字段名","{0:c}") %>
<%#Eval("字段名","{0:c}")%>
<%#((DataRowView)Container.DataItem)["字段名"] %>
以下三种写法同等
<%#string.Format("{0:yyyy-MM-dd dddd}",Eval("stuBirth"))%>
<%# DataBinder.Eval(Container.DataItem,"stuBirth","{0:yyyy-MM-dd}")%>

<%#((DataRowView)Container.DataItem)["stuBirth"] %>

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-604088/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5315782