日期:2014-05-17  浏览次数:20520 次

repeater怎样在后台绑定数据啊
比如说我绑定数据源后,
我这样写是可以的 <asp:TextBox ID="tb1" Text='<%#Eval("name")%>'></asp:TextBox>
现在我不想这么写 ,我要这样写<asp:TextBox ID="tb1"></asp:TextBox>

其中Text值在后台代码赋绑定的值,能不能这样写,能的话求例子啊

------解决方案--------------------
不嫌麻烦的话 你用类型化dataset 找到你要得值,然后赋值给textbox1.text

这个方法和在登陆时使用dataset找到用户很像。
T_UserTableAdapter adapter =new T_UserTableAdapter();
abs.DAL.User.T_UserDataTable users = adapter.GetDataByUserName(TextBox1.Text);//getdatabyusername是dataset中的一个方法,它依靠textbox1.text获取user表中对应的数据
DAL.User.T_UserRow user = users[0];//找到表中第一行数据,你可以修改你的条件来找到这个行
user.name=textbox1.text;//这样就可以调用这一行的name值。

这样做真的很麻烦 不过可以到达目的
------解决方案--------------------
为什么不行?ItemDataBound事件里不可以吗??
C# code

    protected void rptBoards_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        RepeaterItem rptItem = e.Item;
        DataRow dtRow = ((DataRowView)rptItem.DataItem).Row;

        // 相关数据行数据
        string strName = dtRow.Field<string>("name");
        // 查找相关项中控件并设置Text属性
        TextBox tb1 = rptItem.FindControl("tb1") as TextBox;
        tb1.Text=strName;
    }