0

这是 IMGUserlabel 在 .Apsx 中的位置:

在此处输入图像描述

这是 Aspx.Cs :

public void GetUserDetails(int id)
{   
    string getUserDetail = "Select ID,Email,Name,Country,Convert(varchar (20), RegisterDate, 106) RegisterDate,Convert(varchar (20), LastLogin, 106) LastLogin ,Description,ImageName FROM [User] where Id='" + id + "'";

    dt = dbClass.ConnectDataBaseReturnDT(getUserDetail);
    if (dt.Rows.Count > 0)
    {
        IMGUserLabel.Text = dt.Rows[0]["Name"].ToString();
        NameLabel.Text = dt.Rows[0]["Name"].ToString();
        UserImage.ImageUrl = "~/UserImage/" + dt.Rows[0]["ImageName"].ToString();
        lblCreated.Text = dt.Rows[0]["RegisterDate"].ToString();
        LabelLastLogin.Text = dt.Rows[0]["LastLogin"].ToString();
        lblCreated.Text = dt.Rows[0]["RegisterDate"].ToString();
        LabelAboutMe.Text = dt.Rows[0]["Description"].ToString();
    }
}

并显示错误:名称“'IMGUserLabel' 在当前上下文中不存在”但是其他标签正确显示数据

好的,我已经添加了这个,并且没有错误:) 但是标签上没有显示任何数据,它只是说“标签”:

void Item_Bound(Object sender, DataListItemEventArgs e)
{
    string getUserDetail = "Select ID,Email,Name,Country,Convert(varchar (20), RegisterDate, 106) RegisterDate,Convert(varchar (20), LastLogin, 106) LastLogin ,Description,ImageName FROM [User] where Id='" + e + "'";
    {
        // Retrieve the Label control in the current DataListItem.
        Label IMGUserLabel = (Label)e.Item.FindControl("IMGUserLabel");
        IMGUserLabel.Text = dt.Rows[0]["Name"].ToString();
    }
}

这是 Result ,标签应该显示该图像的用户 在此处输入图像描述

4

2 回答 2

2

lblCreated 和 NameLabel 正在工作,因为它们是在 DataList 之外定义的。要从您的方法中访问 IMGUserLabel,您需要先在 DataList 中找到它。

Label IMGUserLabel = (Label)e.FindControl( "IMGUserLabel");
IMGUserLabel.Text = dt.Rows[0]["Name"].ToString();

'e' 是 DataBound 事件处理程序中的 DataListItemEventArgs 实例。您需要修改 GetUserDetails 方法以接收 DataListItemEventArgs 实例或直接传入 Label 实例。

于 2012-10-02T20:07:38.700 回答
0

我找到了答案,一直都是:

 IMGUserLabel.Text = dt.Rows[0]["Name".]ToString();

感谢所有试图提供帮助的人。

于 2012-10-03T04:06:12.713 回答