0
動的テーブル(testtable
)を生成していると同時に、それをクリックすると解消されない各行の最後の列にLinkButton
を生成しています。 all("Users")
はDataTable
を返します。助けてください。LInkButtonがイベントを発生していません
マークアップ
<asp:UpdatePanel ID="MainUpdatePanel" runat="server" Visible="false">
<ContentTemplate>
<asp:Table ID="testTable" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
コード
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
TableHeaderRow tHeaderRow = new TableHeaderRow();
tHeaderRow.TableSection = TableRowSection.TableHeader;
testTable.Rows.Add(tHeaderRow);
foreach (DataColumn column in all("Users").Columns)
{
TableHeaderCell tHeaderCell = new TableHeaderCell();
tHeaderCell.Text = column.ColumnName;
tHeaderRow.Cells.Add(tHeaderCell);
}
TableHeaderCell tShowHeaderCell = new TableHeaderCell();
tHeaderRow.Cells.Add(tShowHeaderCell);
string id = "";
int i = 0;
foreach (DataRow row in all("Users").Rows)
{
TableRow tRow = new TableRow();
tRow.TableSection = TableRowSection.TableBody;
testTable.Rows.Add(tRow);
foreach (DataColumn column in all("Users").Columns)
{
TableCell tCell = new TableCell();
tCell.Text = row[column.ColumnName].ToString();
tRow.Cells.Add(tCell);
if (column.ColumnName == "id")
id = row[column.ColumnName].ToString();
}
LinkButton showlink = new LinkButton();
showlink.Text = "<i class='icon-file'></i>";
showlink.ID = "linkShow" + "_" + i.ToString();
showlink.CssClass = "tip-top";
showlink.CommandArgument = id;
TableCell tShowCell = new TableCell();
tRow.Cells.Add(tShowCell);
tShowCell.Controls.Add(showlink);
showlink.Click += new EventHandler(Show);
i++;
}
}
protected void Show(object sender, EventArgs e)
{
// Do stuff
}
更新パネルを使用しているため、ページがポストバックされません。ページを強制的にポストバックする必要があります。または、更新パネルを削除する必要があります。 – Ravikumar
UpdatePanelsの使用を中止し、javascrip/jqueryなどからリクエストを作成してください。UpdatePanelsはイライラしています。 – Imad
速い返信をお寄せいただきありがとうございます。 @ Ravikumar、更新パネルを削除すると正しく動作しました。 –