0

我正在尝试将第一列元素设置为重定向到另一个页面的超链接。但无论我尝试什么,它似乎都不起作用。

reportTable.Rows[i].Cells[1].Text = report.reportId.ToString();
                TableCell tCell = new TableCell();

                tCell.Controls.Add(new LiteralControl(" report.reportId.ToString      ()"));
                // Create Hyperlink Web Server control and add to cell
                System.Web.UI.WebControls.HyperLink h = new HyperLink();
                h.Text = reportTable.Rows[i].Cells[1].Text = report.reportId.ToString();
                h.NavigateUrl = "~/manage.aspx";
                tCell.Controls.Add(h);

                reportTable.Rows[i].Cells[2].Text = bench.mechId;
                reportTable.Rows[i].Cells[3].Text = bench.elecId;
                reportTable.Rows[i].Cells[4].Text = bench.name;
4

1 回答 1

1

asp.net Grid 和数据控件非常适合数据绑定。

他们还提供可以定制的项目模板,包括链接、下拉列表等。

不要通过手动创建所有控件来填充您的网格。这完全违背了使用网格的目的。

例如:

 <asp:GridView ID="ReportsGridView" 
  DataSourceID="ReportsDataSource"
  AllowPaging="true" 
  AutoGenerateColumns="false" 
  runat="server">
  <Columns>
    <asp:TemplateField>
      <ItemTemplate>
        <asp:LinkButton runat="server"
          ID="RedirectButton"
          CommandName="Manage"
          PostBackUrl="~/manage.aspx"
          Text="Manage" />
      </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="Name" 
      HeaderText="Report Name"/> 
  </Columns>
</asp:GridView>
于 2012-08-17T12:01:38.913 回答