C# 无法隐式转换类型';字符串';至';System.Web.UI.WebControls.Label';

C# 无法隐式转换类型';字符串';至';System.Web.UI.WebControls.Label';,c#,asp.net,sql-server,gridview,C#,Asp.net,Sql Server,Gridview,我正在将我的值从gridview逐行传递到另一个页面。数据库中gridview的表如下所示: Create table Task ( TaskId int Identity(1,1), Title varchar(100), Body varchar(500), Reward decimal(4,2), TimeAllotted int, PosterName varchar(100) ) 详细信息页面的隐藏代码如下所示: pr

我正在将我的值从gridview逐行传递到另一个页面。数据库中gridview的表如下所示:

 Create table Task
  (
    TaskId int Identity(1,1),
     Title varchar(100),
     Body varchar(500),
     Reward decimal(4,2),
    TimeAllotted int,
    PosterName varchar(100)
  )
详细信息页面的隐藏代码如下所示:

 protected void Page_Load(object sender, EventArgs e)
{
    if (this.Page.PreviousPage != null)
    {
        int rowIndex = int.Parse(Request.QueryString["RowIndex"]);
        GridView GridView1 = (GridView)this.Page.PreviousPage.FindControl("GridView1");
        GridViewRow row = GridView1.Rows[rowIndex];
        lblTaskId.Text = row.Cells[0].Text;
        lblTitle.Text = row.Cells[1].Text;
        lblBody.Text = row.Cells[2].Text;
        lblReward.Text = row.Cells[3].Text;
        lblTimeAllotted = row.Cells[4].Text;
        lblPosterName = row.Cells[5].Text;


    }
}
它按需要显示所有内容,但当我在gridview的特定行中单击“查看任务”时,会出现异常,无法将类型“string”隐式转换为“System.Web.UI.WebControls.Label”。异常发生在最后两行,即

    lblTimeAllotted = row.Cells[4].Text;
    lblPosterName = row.Cells[5].Text;
如何更正此问题?

尝试以下方法:

lblTimeAllotted.text = row.Cells[4].Text;
lblPosterName.text = row.Cells[5].Text;
不能将标签设置为文本。您需要设置标签的文本属性,请尝试以下操作:

lblTimeAllotted.text = row.Cells[4].Text;
lblPosterName.text = row.Cells[5].Text;

不能将标签设置为文本。您需要设置标签的文本属性

您不能将
字符串
设置为
标签
。必须将两个标签的值设置为property
Text

lblTimeAllotted.Text = row.Cells[4].Text;
lblPosterName.Text = row.Cells[5].Text;

不能将
字符串
设置为
标签
。必须将两个标签的值设置为property
Text

lblTimeAllotted.Text = row.Cells[4].Text;
lblPosterName.Text = row.Cells[5].Text;

在代码中,您有:

    lblTaskId.Text = row.Cells[0].Text;
    lblTitle.Text = row.Cells[1].Text;
    lblBody.Text = row.Cells[2].Text;
    lblReward.Text = row.Cells[3].Text;
其次是:

lblTimeAllotted = row.Cells[4].Text;
lblPosterName = row.Cells[5].Text;
我想你真正的意思是:

lblTimeAllotted.Text = row.Cells[4].Text;
lblPosterName.Text = row.Cells[5].Text;

您看到异常的原因是.NET试图将标签对象更改为单元格的字符串值,这显然是毫无意义的。看起来像一个简单的打字错误:)

在您的代码中,您有:

    lblTaskId.Text = row.Cells[0].Text;
    lblTitle.Text = row.Cells[1].Text;
    lblBody.Text = row.Cells[2].Text;
    lblReward.Text = row.Cells[3].Text;
其次是:

lblTimeAllotted = row.Cells[4].Text;
lblPosterName = row.Cells[5].Text;
我想你真正的意思是:

lblTimeAllotted.Text = row.Cells[4].Text;
lblPosterName.Text = row.Cells[5].Text;
您看到异常的原因是.NET试图将标签对象更改为单元格的字符串值,这显然是毫无意义的。看起来像一个简单的打字错误:)