你这是属于典型的基本概念不了解的问题。
建议先看看基本的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();