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グリッドとデータコントロールは、データバインディングに非常に適しています。

また、リンクやドロップダウンリストなどを含めるようにカスタマイズできるアイテムテンプレートも提供します。

すべてのコントロールを手動で作成してグリッドにデータを入力しないでください。これは、グリッドを使用する目的を完全に無効にします。

例えば:

 <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 に答える