现在的位置: 首页 > 综合 > 正文

vs2005控件绑定

2013年02月26日 ⁄ 综合 ⁄ 共 1036字 ⁄ 字号 评论关闭

你这是属于典型的基本概念不了解的问题。
建议先看看基本的asp.net 2.0的知识

使用 Eval 方法
Eval 方法可计算数据绑定控件(如 GridView、DetailsView 和 FormView 控件)的模板中的后期绑定数据表达式。在运行时,Eval 方法调用 DataBinder 对象的 Eval 方法,同时引用命名容器的当前数据项。命名容器通常是包含完整记录的数据绑定控件的最小组成部分,如 GridView 控件中的一行。因此,只能对数据绑定控件的模板内的绑定使用 Eval 方法。

Eval 方法以数据字段的名称作为参数,从数据源的当前记录返回一个包含该字段值的字符串。可以提供第二个参数来指定返回字符串的格式,该参数为可选参数。字符串格式参数使用为 String 类的 Format 方法定义的语法。

 

你既然是要绑定 数据库中的id,而数据库的数据只是为GridView提供的,你的Label控件放在 GridView中的了吗??GridView之外没有任何与数据记录有关系的可操作的东西,当然是不能绑定的。

dr.reader 在VS2003我会写,但在VS2005就不知道怎么写了??
这个没有任何区别,不知道你2003里怎么写出来的

 

Bind("id") 和Eval("id") 略有区别?
区别就是双向绑定(可修改)与单向绑定的区别

在VS2005中,<%# this.TheID %>也不对,调试都过不去,改为<%= this.TheID %>调试过

去,但仍然内容没有显示出来??

显然是概念不清楚,DataBind方法是每个控件都有的,你调用一下即可

这些概念在我的书中都有明确的介绍,如果你愿意,可以买本看看。

怎么写?下面就是例子

<body>
  <form id="form1" runat="server">
    <asp:Label ID="Label1" runat="server" Text='<%# name%>'></asp:Label>
  </form>
</body>

cs:

public partial class DataBind : System.Web.UI.Page
{
  protected string name;
  protected void Page_Load(object sender, EventArgs e)
  {
    name = "孟宪会";
    Label1.DataBind();

  }
}

如果你的要绑定的控件很多,可以直接使用一个
Page.DataBind();

如果有分组,可以使用分组的控件的.DataBind();

抱歉!评论已关闭.