Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将LinkButton添加到gridview小计行_C#_Asp.net_.net_Gridview - Fatal编程技术网

C# 将LinkButton添加到gridview小计行

C# 将LinkButton添加到gridview小计行,c#,asp.net,.net,gridview,C#,Asp.net,.net,Gridview,我正在尝试将带有URL的linkbutton添加到gridview小计行。我正在使用下面的代码,无法添加URL 是否有人能就如何处理这一问题提供建议 更新1: private void AddTotalRow(string labelText, string value) { GridViewRow row = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Normal)

我正在尝试将带有URL的linkbutton添加到gridview小计行。我正在使用下面的代码,无法添加URL

是否有人能就如何处理这一问题提供建议

更新1:

    private void AddTotalRow(string labelText, string value)
    {
        GridViewRow row = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Normal);
        row.BackColor = ColorTranslator.FromHtml("#F9F9F9");
        row.Cells.AddRange(new TableCell[3] { new TableCell{ Text = labelText, HorizontalAlign = HorizontalAlign.Right },
     new TableCell{ Text = value, HorizontalAlign = HorizontalAlign.Right },
     HyperLinkCell(value, "http://www.google.com") });
    }

    protected  TableCell HyperLinkCell(string text, string url)
    {
        TableCell cell = new TableCell();
        HyperLink link = new HyperLink();
        try
        {
            link.Text = text;
            link.Font.Underline = true;
            link.Target = "_blank";
            link.NavigateUrl = url;
            link.Attributes.Add("style", "color:Black;");
            cell.Controls.Add(link);
        }
        catch (Exception ex)
        {
            throw ex;
        }
        return cell;
    }
请尝试以下方法:

protected HyperLink AddHyperLink(string cell, string strURL)
{
    HyperLink h1 = new HyperLink();
    TableCell cells = new TableCell();
    try
    {
        h1.Text = cell;
        h1.Font.Underline = true;
        h1.Target = "_blank";
        h1.NavigateUrl = strURL;
        h1.Attributes.Add("style", "color:black");
        cells.Controls.Add(h1);

    }
    catch(Exception ex)
    {

    }
    return h1;
}

您希望向表中添加新单元格。但您也在尝试将
LinkButton
添加到TableCell集合中


另外,在创建新链接按钮时,您正在设置
Text=AddHyperLink
。AddHyperLink方法返回超链接对象,显然您不能将其分配给文本,因为它是字符串类型

此外,您不能将LinkButton添加到TableCell集合

您需要如下更改代码

private void AddTotalRow(string labelText, string value)
{
     GridViewRow row = new GridViewRow(0,0, DataControlwRowType.DataRow, DataControlRowState.Normal);
     row.BackColor = ColorTranslator.FromHtml("#F9F9F9");
     row.Cells.AddRange(new TableCell[4] { new TableCell(),
         new TableCell{ Text = labelText, HorizontalAlign = HorizontalAlign.Right }.
         new TableCell{ Text = value, HorizontalAlign = HorizontalAlign.Right),
         //Calling HyperLinkCell method which will return a TableCell with HyperLink in it.
         HyperLinkCell(value, "http://www.google.com")
        });

    gvData.Rows.Add(row);
 }

 protected TableCell (string text, string url)
 {
     //Create new Cell
     TableCell cell = new TableCell();
    //Create new HyperLink.
     HyperLink link = new HyperLink();
     try
     {
         link.Text = text;
         link.Font.UnderLine = true;
         link.Target = "_blank";
         link.NavigationUrl = url;
         link.Attributes.Add("style", "color:Black;");
         //Add hyperlink to the cell.
         cell.Controls.Add(link);
     }
     catch(Exception ex)
     {
     }
     //Return Cell with HyperLink.
     return cell;
 }

这将解决错误,并为您提供在gridviewrow中添加带有超链接的单元格的正确方法。

您有
字符串值
,并将其传递给
AddHyperLink
方法。但是
AddHyperLink
方法将
TableCell
作为第一个参数。因此,不能在那里传递字符串而不是TableCell。这就是你看到这个错误的原因。@ChetanRanpariya-更新了我的帖子。你能调查一下吗。无法传递URL。创建新链接按钮时,您正在设置
Text=AddHyperLink
。AddHyperLink方法返回超链接对象,您显然无法将其分配给文本,因为它是字符串类型。您需要返回基本方法,了解数据类型、分配和错误消息。您还需要在问题中共享代码,而不是图像。我们无法从图像复制粘贴您的代码。已更新我的帖子。你能调查一下吗。无法传递URL。现在,第二个参数的类型为Hyperlink,但传递的是字符串。因此出现了错误。您需要传递函数声明中定义的相同类型变量。我已更新了答案。请保持AddTotalRow不变。替换AddHyperLink方法。它表示无法将类型“HyperLink”隐式转换为字符串。更新了我的帖子。两个参数现在都是字符串。我尝试了,但没有添加行。更新了我帖子中的代码。你现在有错误吗?我更新了我的答案,现在请检查我在这行
gvData.Rows.Add(row)中有错误。它表示GridViewRowCollection不包含添加的定义。您不能以这种方式向GridView添加新行。你需要提出不同的问题,并详细说明你到底想做什么。如果此答案帮助您解决了所遇到的错误,那么您可以将其标记为有用的答案,并就向网格视图添加新行的问题询问另一个问题。